1

私はアプリケーションを開発しています。シナリオは次のとおりです。私の Android デバイスはインターネットへの接続を示していますが、デバイスにはインターネット アクセスがありません。私のアプリケーションでは、このコードを使用してインターネット接続を確認しています。

private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager 
          = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}


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

しかし、上記で説明したシナリオでクラッシュするたびに。どんな助けでも大歓迎です。

ありがとう

4

4 に答える 4

0

これを使って

public static boolean isInternetOn(Context context) {

    ConnectivityManager cm = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    // test for connection
    if (cm.getActiveNetworkInfo() != null
            && cm.getActiveNetworkInfo().isAvailable()
            && cm.getActiveNetworkInfo().isConnected()) {
        Log.v(TAG, "Internet is working");
        // txt_status.setText("Internet is working");
        return true;
    } else {
        // txt_status.setText("Internet Connection Not Present");
        Log.v(TAG, "Internet Connection Not Present");
        return false;
    }
}
于 2013-04-16T06:26:55.290 に答える
0

これをチェックして:

private boolean isNetworkAvailable()
{
  ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
  State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

  if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING)
  {             
      // Wifi connected     
  }
  else if(mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING)
  {
      // Mobile network connected
  }
}
于 2013-04-16T06:28:08.913 に答える