Android 即使没有internet,networkInfo.isConnected()方法也返回true?
我开发此应用程序,在主要活动中,我检查互联网连接,如下所示:Android 即使没有internet,networkInfo.isConnected()方法也返回true?,android,networkinfo,Android,Networkinfo,我开发此应用程序,在主要活动中,我检查互联网连接,如下所示: ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo != null &am
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
LoaderManager loaderManager = getSupportLoaderManager();
loaderManager.initLoader(1, null, this);
}
当我进入HOURLY
活动时,我会像上面的onCreate()
方法一样检查互联网
我的问题当我打开主活动时,我会断开互联网连接,并转到每小时
活动以处理“无互联网例外”,但networkInfo.isConnected()在HOURLY
活动返回true
为什么互联网仍然连接???我不知道您打算用上述代码做什么,但我相信这会起作用
ConnectivityManager
的getActiveNetworkInfo()
方法返回一个NetworkInfo
实例,表示它可以找到的第一个连接的网络接口,如果没有连接任何接口,则返回null。检查此方法是否返回null应该足以判断internet连接是否可用
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
您还需要:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
在你的android清单中
请注意,具有活动网络接口并不保证特定的网络服务可用。网络问题、服务器宕机、低信号、外加门户、内容过滤器等都会阻止应用程序访问服务器。例如,在收到来自Twitter服务的有效响应之前,您无法确定您的应用程序是否可以访问Twitter。同时断开您的移动信号?>检查此方法是否返回null应足以判断是否有可用的internet连接。这是不正确的。您可能已连接到Wifi路由器,但该路由器未连接到Internet。这只是告诉你设备是否连接到Wifi路由器。