我找到了可以更改的系統設置列表以及我無法更改的設置(安全設置),但啓用/禁用Wifi-Direct(ICS)都不在其中。 當我啓動我的應用程序時,如何自動啓用Wi-Fi Direct?自動更改Wi-Fi Direct設置
1
A
回答
1
JB引入了併發的概念,這意味着只要wifi處於打開狀態,應用程序就不必直接打開wifi。
對於ICS,最好將用戶帶到無線設置以允許他打開它。
-1
您是否試過使用WiFi manager? 你應該能夠切換它像這樣的活動中:
WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if (!wifi.isWifiEnabled()){
wifi.setWifiEnabled(true);
}
這應該打開WIFI,但並不能保證一個具有WiFi連接!您也可以使用WifiManager尋找WifiInfo與
WifiInfo wifiInfo = wifi.getConnectionInfo();
或ping到無線接入點與
if (wifi.pingSupplicant()){
//at least connected to a network
}
3
不幸的是,做到這一點不公開的方式。 ICS和JB中的Settings應用程序在管理器類上使用隱藏方法將服務切換爲啓用/禁用。
- 在ICS中,使用了WifiP2PManager.enableP2P()和WifiP2PManager.disableP2P()兩種隱藏方法。
- 在JB中,使用了NsdManager.setEnabled()。
所以這是可能的,因爲方法確實存在於這些類。但是,由於這種差異,您將不得不創建特定於版本的反射代碼,這些代碼幾乎肯定會在以後的版本中崩潰,以便直接從應用程序提供功能。
更好的解決方案是檢查服務是否啓用,並向用戶顯示一個對話框,直接將它們帶到「無線設置」頁面以便自己啓用WiFi Direct。
相關問題
- 1. 更改WiFi-Direct IP範圍?在Android WiFi-Direct中強制IPv6?
- 2. WIFI_P2P_CONNECTION_CHANGED_ACTION,Wifi Direct,Android
- 3. WiFi Direct Demo
- 4. Wifi Direct Cordova
- 5. wifi也可以wifi-direct
- 6. 獲取附近所有WiFi-Direct設備
- 7. WiFi Direct爲Android 2.3或更高版本
- 8. Android Wifi Direct服務發現
- 9. WiFI Direct for cordova windows平臺
- 10. wpa_supplicant是否支持WiFi Direct?
- 11. 是否可以通過html5/js與WIFI/WIFI DIRECT互動?
- 12. 手動更改設置後,Widget更改設置不會更新
- 13. 如何知道您是否連接到Wifi Hotspot/Wifi/Wifi Direct
- 14. 在設置中更改編輯框中的自動更改值
- 15. Slim - 動態更改設置
- 16. 全屏啓動wifi設置活動
- 17. 使用UDP在Wifi Direct上廣播
- 18. Android WiFi-Direct連接和廣播
- 19. Wifi Direct Group所有者地址
- 20. Android 2.X設備可以連接到Android 4.0 Wifi Direct AP嗎?
- 21. Android:如何獲取當前設備WiFi-direct名稱
- 22. 在android中使用Wifi Direct想要鎖定連接的設備
- 23. .NET核心 - 無線文件發送,WiFi Direct設備支持?
- 24. ICS上的wifi-direct:如何獲取設備名稱?
- 25. 如何檢查設備是否具有WiFi Direct功能
- 26. Android重命名設備的名稱爲wifi-direct
- 27. React,無法設置自動更新發布更改
- 28. CPanel Cron Job自動更改我的設置/配置
- 29. UI自動更改默認設備
- 30. NetBeans將自動更改連接池設置
我想打開Wi-Di Direct(P2P),而不是Wi-Fi。 – 2012-07-16 21:40:58