2013-02-19 50 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