2011-09-27 62 views
1

我想要做的就是查看網絡是否實際啓用(無論是否通過設置菜單中的選項進行檢查)。我如何去做這件事?如何檢查用戶是否啓用了網絡,而不管該網絡是否已連接?

具體來說:

我有無線上網的通過WifiManager ... ......以及其他一切已經與一切(特別是移動數據)的噩夢。

這就是我正在嘗試與移動數據和WiMax:

cm.getNetworkInfo(cm.TYPE_WIMAX).getDetailedState(); 
cm.getNetworkInfo(cm.TYPE_MOBILE).getDetailedState(); 

但那些返回時斷開連接它們將被禁止或實際斷開。

編輯:我發現:http://developer.android.com/reference/android/provider/Settings.System.html

再次編輯:這不是真的我想要麼...我會繼續尋找什麼,但!

+0

我認爲問題在於並不是所有的手機都有這個選項。但是,我相信[this](http://stackoverflow.com/q/8243305/790568)鏈接轉到您的問題的解決方案。 – Cremons

回答

1
NetworkInfo info = connectivityManager.getActiveNetworkInfo(); 

boolean isNetworkEnabled = (info == null ? false : true); 
0

是怎麼想實現從LocationListener這兩種方法:onProviderEnabled()onProviderDisabled()

但是,我認爲requestLocationUpdates()必須在調用這些方法之前先與監聽器調用。

0
public static boolean checkConnection(Context context) { 
      ConnectivityManager connMgr = (ConnectivityManager) context 
        .getSystemService(Context.CONNECTIVITY_SERVICE); 
      android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
      android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
      if (wifi.isAvailable() && wifi.isConnected()) { 
       status = true; 
      } 
      if (mobile.isAvailable() && mobile.isConnected()) { 
       status = true; 
      } else { 
       status = false; 
      } 
return status; 
     } 
相關問題