在我的应用程序中,当应用程序第一次启动时,在我的闪屏期间,我正在检查网络连接。如果存在网络连接,我将通过调用下面的方法进入互联网连接。
然而,我故意手动禁用我的互联网连接(我连接到路由器,但无法在我的浏览器上输入网页),然而下面的方法总是返回me -200-这对于互联网连接是正确的。
public boolean hasActiveInternetConnection()
{
try
{
HttpURLConnection urlc = (HttpURLConnection) (new URL("http://www.google.com").openConnection());
urlc.setRequestProperty("User-Agent", "Test");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(3000);
urlc.setReadTimeout(4000);
urlc.connect();
Log.i("Splash", Integer.toString(urlc.getResponseCode()));
return (urlc.getResponseCode() == 200);
} catch (IOException e)
{
return (false);
}
}发布于 2013-03-13 18:15:28
尝试在openConnection()之前包含此代码
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}发布于 2013-03-07 18:51:31
您可以使用此函数检查互联网连接:
public boolean isInternetConnection() {
ConnectivityManager cn = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo nf = cn.getActiveNetworkInfo();
if (nf != null && nf.isConnected() == true)
return true;
else
return false;
}您需要为此添加清单权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />https://stackoverflow.com/questions/15268487
复制相似问题