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 に答える