Internet检查连接无法正常工作android.net.isConnected()

Internet检查连接无法正常工作android.net.isConnected(),android,android-activity,network-state,Android,Android Activity,Network State,这个问题涉及到 @William solution非常关注我,但在有限的连接上,它不起作用 我已连接到无线调制解调器,但此调制解调器未连接到internet 根据这个函数应该完成所有的工作,但我认为函数检查的数据只在android->modem之间,而不是android->webservice(internet) @William代码是: final ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Cont

这个问题涉及到

@William solution非常关注我,但在有限的连接上,它不起作用

我已连接到无线调制解调器,但此调制解调器未连接到internet

根据这个函数应该完成所有的工作,但我认为函数检查的数据只在android->modem之间,而不是android->webservice(internet)

@William代码是:

final ConnectivityManager conMgr =  (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected()) {
     //notify user you are online
} else {
     //notify user you are not online
} 
我可以做什么来检查互联网连通性?我遗漏了什么?

试试这个

  public static boolean isInternetConnection(Context mContext) {
    final ConnectivityManager connMgr = (ConnectivityManager) mContext
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    final android.net.NetworkInfo wifi = connMgr
            .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    final android.net.NetworkInfo mobile = connMgr
            .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

    if (wifi.isAvailable()
            && wifi.getState() == NetworkInfo.State.CONNECTED) {
        return true;
    } else if (mobile.isAvailable()
            && mobile.getState() == NetworkInfo.State.CONNECTED) {
        return true;
    } else {
        return false;
    }
}

public static boolean isWifi(Context mContext) {
    final ConnectivityManager connMgr = (ConnectivityManager) mContext
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    final android.net.NetworkInfo wifi = connMgr
            .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    if (wifi.isAvailable()) {
        return true;
    } else {
        return false;
    }
}

public static boolean isOtherNetwork(Context mContext) {
    final ConnectivityManager connMgr = (ConnectivityManager) mContext
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    final android.net.NetworkInfo mobile = connMgr
            .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

    if (mobile.isAvailable()) {
        return true;
    } else {
        return false;
    }
}
在menifest中添加权限

        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>


我认为,作为替代方案,您可以向远程URL发出实际的HTTP请求,并查看其是否成功。

我认为,作为替代方案,您可以向远程URL发出实际的HTTP请求,并查看其是否成功。@Nachi这是我的第一位来宾,但我认为要获得HTTP答案需要很长时间,但是反应是立即的!将你的评论作为我可以接受的正确答案发布。谢谢