2013-06-21 2 views
1

다음 코드를 사용하여 인터넷 연결을 확인했습니다.Google Nexus 7 (android 4.2)에서 인터넷 연결을 확인하는 방법

public static boolean checkNetworkConnection(Context context) { 
     boolean connected = true; 
     ConnectivityManager connectivityManager = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 
     if (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) 
       .getState() == android.net.NetworkInfo.State.CONNECTED 
       || connectivityManager.getNetworkInfo(
         ConnectivityManager.TYPE_WIFI).getState() == android.net.NetworkInfo.State.CONNECTED) { 
      connected = true; 
     } else 
      connected = false; 
} 

이 코드는 모바일에서 제대로 동작합니다. 하지만 Google Nexus 7 (android 4.2)에서는 작동하지 않습니다.

Google Nexus 7 (android 4.2)에서이 코드를 테스트합니다. 나는 오류가있다. 연결 관리자에서

널 포인터 예외는 나를 위해

답변

2

가 작동 :

public static boolean isInternetEnabled() { 
    ConnectivityManager conMgr = (ConnectivityManager) YourApp.context 
      .getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = conMgr.getActiveNetworkInfo(); 
    if (netInfo != null && netInfo.isConnectedOrConnecting()) 
     return true; 
    else 
     return false; 
} 
1

당신은 당신의 매니페스트에이 권한이 필요합니다

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

확인 TYPE_MOBILE가 null 이하 사용하지 암호.

connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) != null 
관련 문제