检查适当的互联网是否可用

时间:2013-03-11 11:50:53

标签: android android-networking

我正面临着在我的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。所以我想要一些如何在每次检查信号的代码。

1 个答案:

答案 0 :(得分: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;

}