2011-12-26 4 views

답변

4

@Carlo는 : 가장 간단한 방법은 반환 값이 true 작동하고 인터넷을 의미 또는 false 수단이 경고를 표시하는 경우이

public boolean isOnline() { 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
    if (netInfo != null && netInfo.isConnectedOrConnecting()) { 
     return true; 
    } 
    return false; 
} 

같은 기능을 응용 프로그램 매니페스트 파일에 ACCESS_NETWORK_STATE 권한을 추가하고 작성하는 첫 번째 상자 :

+0

확인을 들으을 위해 – Carlo

+1

좋은 DA를 확인합니다 machan ... –

+0

실행중인 응용 프로그램과 함께이 메서드를 바인딩하는 방법 프로세스 중에 인터넷이 갑자기 사라지는 경우이 메서드가 호출됩니다. – Carlo

1

//이 매우 와이파이, 3G/EDGE 모든 네트워크 가용성

public boolean networkStatus() { 
     boolean status = false; 
     int i = 0; 
     try { 
      String service = context.CONNECTIVITY_SERVICE; 
      ConnectivityManager connectivity = (ConnectivityManager) BackupSettings.this.context.getSystemService(service); 
      connectivity.setNetworkPreference(1); 
      NetworkInfo networkInfo[] = connectivity.getAllNetworkInfo(); 
      int cnt = networkInfo.length; 
      for (i = 0; i < cnt; i++) { 
       if (networkInfo[i].isConnected() == true) { 
        status = true; 
       } 
      } 
     } catch (Exception ee) { 
      Log.e(getClass().getSimpleName(), " Error at networkStatus() :=" + ee.toString()); 
     } 
     Log.e(getClass().getSimpleName(),"End of networkStatus() fun " + status); 
     return status; 
    } 
+0

netWorkInfo [0]가 연결되어 있고 netWorkInfo [1]이 ?????가 아니라면 false를 반환한다고 생각하지 않습니까? – drulabs

+0

어떻게? networkInfo [i] .isConnected() == true networkInfo [1] .isConnected() == false로 설정하면 상태가 어떻게 변경됩니까? –

관련 문제