internetmanager.getActiveNetworkInfo()在Internet关闭时返回true(Android)?

时间:2013-06-25 00:13:02

标签: android connectivity

这是我用来确定手机是否已连接到互联网的代码:

public boolean isOnline() {
    ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting()) {
        return true;
    }
    return false;
}

在模拟器上,即使我关闭计算机的Wi-Fi,也会返回true。即使计算机不在Internet上,我也会在模拟器的最顶部栏上看到3G符号。我的代码有问题,还是这是一个模拟器问题?

1 个答案:

答案 0 :(得分:2)

如果您想确定设备是否在通话时连接到isConnected,则应拨打isConnectedOrConnecting而不是isOnline

通常,模拟器上存在许多硬件功能API的问题/错误,这可能是其中之一。你的代码很好。