2013-06-21 35 views
1

我使用下面的代碼來檢查互聯網連接。如何檢查谷歌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)。

當我測試這個代碼在谷歌nexus 7(安卓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爲空或低於不使用碼。

connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) != null