0

我正面临在我的 Android 应用程序中重新分级互联网的情况。我正在我的应用程序中检查互联网可用性。但我也想要正确检查连接性。现在,如果我的互联网已连接但没有信号。

ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ){
    //do what ever
}
else{
    Toast.makeText(getApplicationContext(), "Please activate the internet", Toast.LENGTH_SHORT).show();
}

如果信号丢失它不显示internet is not available。所以我想要一些关于如何每次检查信号的代码。

4

1 回答 1

1

尝试这个,

  public final boolean isInternetON(Context context) {
    boolean haveConnectedWifi = false;
    boolean haveConnectedMobile = false;

    ConnectivityManager cm = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo[] netinfo = cm.getAllNetworkInfo();
    for (NetworkInfo ni : netinfo) {
        if (ni.getTypeName().equalsIgnoreCase("WIFI"))
            if (ni.isAvailable())
                haveConnectedWifi = true;
        if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
            if (ni.isAvailable())
                haveConnectedMobile = true;

    }
    return haveConnectedWifi || haveConnectedMobile;

}
于 2013-03-11T11:55:13.897 回答