2013-02-19 2 views
1

Я использую этот код, чтобы проверить, если интернет-сеть на:Dual SIM проблема подключения проверка интернет

public boolean isNetworkOnline() { 
     boolean status=false; 
     try{ 
      ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
      NetworkInfo netInfo = cm.getNetworkInfo(0); 
      if (netInfo != null && netInfo.getState()==NetworkInfo.State.CONNECTED) { 
       status= true; 
      }else { 
       netInfo = cm.getNetworkInfo(1); 
       if(netInfo!=null && netInfo.getState()==NetworkInfo.State.CONNECTED) 
        status= true; 
      } 
     }catch(Exception e){ 
      e.printStackTrace(); 
      return false; 
     } 
     return status; 

     } 

Проблема заключается в том, что если вы используете интернет 3g из SIM 2, это говорит о том, что у вас нет интернета подключение сверху.

ответ

4

Попробуйте следующий код:

public static boolean isNetworkAvailable(Context context) { 
     boolean outcome = false; 


     if (context != null) { 
      ConnectivityManager cm = (ConnectivityManager) context 
        .getSystemService(Context.CONNECTIVITY_SERVICE); 

      NetworkInfo[] networkInfos = cm.getAllNetworkInfo(); 

      for (NetworkInfo tempNetworkInfo : networkInfos) { 

       if (tempNetworkInfo.isConnected()) { 
        outcome = true; 
        break; 
       } 
      } 
     } 

     return outcome; 
    } 
+0

спасибо, это работает, нужен контекст? – Marckaraujo

+1

контекст, необходимый для получения объекта диспетчера подключений ... –

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

  • Нет связанных вопросов^_^