2013-02-19 2 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; 

     } 

문제는 당신이 SIM 2에서 인터넷 3g를 사용하는 경우, 이것은 당신이 인터넷이없는 것을 말한다이다 연결. , 작동, 문맥이 필요하다

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; 
    } 

답변

4

다음 코드를 시도?
+0

감사 : – Marckaraujo

+1

연결 관리자의 개체를 가져 오는 데 필요한 컨텍스트 ... –

관련 문제