2012-01-07 90 views
1

我寫了一個android應用程序,它需要大量的數據通過網絡傳輸。爲了使發票保持低位,我在配置中添加了一個開關,該開關應該將應用程序切換到「wlan only」模式。如何在android中檢查特定網絡類型的可用性?

不幸我無法落實在我的應用WLAN連接正確的檢查,其基本思想是通過

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
在我的清單

(應該能達到這個目的)將所需的權限和實施一個簡單的方法,這是在我的活動訪問:

protected boolean checkForNetwork(Context context, boolean wlanOnly) { 
    // check via ACCESS_NETWORK_STATE 
    ConnectivityManager manager = (ConnectivityManager) context. 
      getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (!wlanOnly) { 
     return manager.getActiveNetworkInfo().isConnected(); 
    } else { 
     // hmm... 
    } 
} 

我很不確定什麼進入//嗯...部分。

回答

4

試試這個網絡:

NetworkInfo info = manager.getActiveNetworkInfo(); 
if (info.getType() == ConnectivityManager.TYPE_WIFI) { 
    return info.isConnected(); 
}