2017-01-19 3 views
0

Приветствие !!Менеджер связей в android

У меня проблема, я использовал класс диспетчера соединений, чтобы получить статус сети. Класс работает нормально в 90% -ных устройствах Android, но не работает на некоторых устройствах.

Посмотрите на мой код .Posted

ценам ниже
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) .Coz у меня нет каких-либо конкретных мобильных и сценариев, где мой код не работает. Это произошло на некоторых клиентских устройствах. – 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; 
    } 

Небольшое изменение в коде, безусловно, поможет вам ...

+0

Спасибо, я попробую. – DUKE

Смежные вопросы