Network Reachability

This commit is contained in:
Joe Bowser 2009-11-03 11:54:30 -08:00
parent 7271754e0b
commit 70245c9179
2 changed files with 44 additions and 0 deletions

View File

@ -48,6 +48,7 @@ public class DroidGap extends Activity {
private CameraLauncher launcher;
private ContactManager mContacts;
private FileUtils fs;
private NetworkManager netMan;
/** Called when the activity is first created. */
@Override
@ -102,6 +103,7 @@ public class DroidGap extends Activity {
launcher = new CameraLauncher(appView, this);
mContacts = new ContactManager(this, appView);
fs = new FileUtils(appView);
netMan = new NetworkManager(this, appView);
// This creates the new javascript interfaces for PhoneGap
appView.addJavascriptInterface(gap, "DroidGap");
@ -110,6 +112,7 @@ public class DroidGap extends Activity {
appView.addJavascriptInterface(launcher, "GapCam");
appView.addJavascriptInterface(mContacts, "ContactHook");
appView.addJavascriptInterface(fs, "FileUtil");
appView.addJavascriptInterface(netMan, "NetworkManager");
}
/**

View File

@ -0,0 +1,41 @@
package com.phonegap.demo;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.content.Context;
import android.net.*;
import android.webkit.WebView;
public class NetworkManager {
Context mCtx;
WebView mView;
ConnectivityManager sockMan;
NetworkManager(Context ctx, WebView view)
{
mCtx = ctx;
mView = view;
sockMan = (ConnectivityManager) mCtx.getSystemService(Context.CONNECTIVITY_SERVICE);
}
public boolean isAvailable()
{
NetworkInfo info = sockMan.getActiveNetworkInfo();
return info.isConnected();
}
public boolean isReachable(String uri)
{
boolean reached = true;
try {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(uri);
httpclient.execute(httpget);
} catch (Exception e) { reached = false;}
return reached;
}
}