0

インターネット接続を確認するためのこのコードがあります。

NetworkInfo info = ((ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();

             //if network is active and have internet connection 
            if(info != null && info.isConnected()==true){


            //Some code


            }

     //if network is inactive or doesn't  have internet connection 
     else   if(info == null || info.isConnected()==false){

               Context context = getApplicationContext();
               CharSequence text = " Bad internet connection.";
               int duration = Toast.LENGTH_LONG;
               Toast toast = Toast.makeText(context, text, duration);
               toast.show();

             }

プログラムを起動すると、インターネット接続をオンにするとすべてが正常に動作しますが、ルーターからインターネットケーブルを引き抜き、アプリでまだwifiをオンにすると、アプリはこれでtrueになります(if(info != null && info .isConnected()==true)) と crash.I は、このコードが true になる理由がわかりません。

4

1 に答える 1

0
Use this for check condition of network:

if (info!=null && info.isAvailable() && info.isConnected()) {
            return true;
        } else {
            return false; 
        }
}
于 2013-10-20T12:54:04.740 に答える