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路由器。