2013-02-19 52 views
1

我使用此代碼來檢查,如果互聯網絡是:雙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; 

     } 

的問題是,如果你使用互聯網3克從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 2013-02-19 13:04:38

+1

獲取連接管理器對象所需的上下文... – 2013-02-19 14:30:58