2017-01-19 9 views
0

Greeting !!androidの接続マネージャー

問題が発生しました。接続マネージャークラスを使用してネットワークステータスを取得しました。クラスは90%のAndroid搭載端末で正常に機能していますが、一部のデバイスでは機能しません。

public class Connectivity { 
    public static boolean isConnected(Context context){ 
     boolean found=false; 
     ConnectivityManager manager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo network=manager.getActiveNetworkInfo(); 
     if (network!=null && network.isAvailable() && network.isConnected()) 
      found=true; 
     return found; 
    } 
} 

答えて

0
public static boolean isConnectingToInternet(Context context) { 
    ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (connectivity != null) { 
     NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
     if (info != null) 
      for (int i = 0; i < info.length; i++) 
       if (info[i].getState() == NetworkInfo.State.CONNECTED) { 
        return true; 
       } 
    } 
    return false; 
} 
+0

あなたは、コード上で確認されているすべてで動作しますデバイス(sdk> = 16)。私のコードが動作していない特定のモバイルとシナリオはありません。クライアントデバイスのいくつかが発生しました。 – DUKE

+0

はい、私はそれを使用しています。 – Mangal

0
public static boolean isDeviceConnected(Context context) { 
     ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
     if (netInfo != null && netInfo.isConnectedOrConnecting()) { 
      return true; 
     } 
     return false; 
    } 

below-あなたのコードの小さな変化を.Posted私のコードを見は間違いなくあなたを助ける...

+0

ありがとう、私はそれを試してみてください。 – DUKE

関連する問題