Android:如何以編程方式啟用/禁用Wifi或Internet連接使用Connectivity Manager Class,我們可以訪問wifi或Internet網絡:ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);// ARE WE CONNECTED TO THE NETif ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED ) {
// ...}其中0和1分別指移動和wifi連接如果我的Android設備連接到兩者,我們可以在任何網絡之間切換,還是可以禁用任何網絡?喜歡使用功能:connec.getNetworkInfo(0).setState(NetworkInfo.State.DISCONNECTED);
3 回答

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
我知道啟用或禁用wifi:
WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE);wifiManager.setWifiEnabled(status);
狀態可能是true
或false
根據要求。
編輯:
您還需要清單文件中的以下權限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
啟用WiFi:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);wifi.setWifiEnabled(true);
要禁用WiFi:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);wifi.setWifiEnabled(false);
注意:要使用WiFi狀態進行訪問,我們必須在AndroidManifest.xml文件中添加以下權限:
android.permission.ACCESS_WIFI_STATE android.permission.UPDATE_DEVICE_STATS android.permission.CHANGE_WIFI_STATE

精慕HU
TA貢獻1845條經驗 獲得超8個贊
完整的解決方案:
try { WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiConfiguration wc = new WifiConfiguration(); wc.SSID = "\"SSIDName\""; wc.preSharedKey = "\"password\""; wc.hiddenSSID = true; wc.status = WifiConfiguration.Status.ENABLED; wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); wc.allowedPairwiseCiphers .set(WifiConfiguration.PairwiseCipher.TKIP); wc.allowedPairwiseCiphers .set(WifiConfiguration.PairwiseCipher.CCMP); wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); boolean b=wifi.isWifiEnabled(); if (b) { wifi.setWifiEnabled(false); Toast.makeText(context, "yes", Toast.LENGTH_SHORT).show(); } else { wifi.setWifiEnabled(true); Toast.makeText(context, "no", Toast.LENGTH_SHORT).show(); } //Log.d("WifiPreference", "enableNetwork returned " + b );} catch (Exception e) { e.printStackTrace();}
參考:http://amitkumar-android.blogspot.com/p/installation-steps.html
- 3 回答
- 0 關注
- 2219 瀏覽
添加回答
舉報
0/150
提交
取消