我想知道是否有一些代碼片段可用於連接Android設備到WiFi網絡。網絡應該是打開的或WEP/WPA已加密,並且該設備可見。通常,我們使用GUI界面輸入WiFi密碼並點擊連接按鈕。我想將密碼存儲在一個地方,並使用密碼無縫連接到網絡,無需人工干預。那可能嗎?非常感謝。Android連接WiFi無需人工干預
7
A
回答
2
WifiManager - 你有沒有試過看這裏。 addNetwork()方法看起來像它可以做你想做的事情。你所要做的就是將信息放在WifiConfiguration類中,然後添加網絡,然後啓用該連接。文檔就在那裏。
1
結帳它可以用來啓用WiFi的「WifiManager」
的文檔:
WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
,它可以用來做很多其他的事情。
編輯:不要忘了監控和改變無線網絡連接狀態何時更新您的權限,例如:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
等等
14
謝謝你們。在您的幫助下,我現在可以無痛連接到WPA/PSK加密網絡。這裏是我的代碼片段:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
// setup a wifi configuration
WifiConfiguration wc = new WifiConfiguration();
wc.SSID = "\"YOUR_SSID\"";
wc.preSharedKey = "\"YOUR_PASSWORD\"";
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);
// connect to and enable the connection
int netId = wifiManager.addNetwork(wc);
wifiManager.enableNetwork(netId, true);
wifiManager.setWifiEnabled(true);
的招數是:
- SSID字符串應該與包圍「這是由\表示」
- addNetwork()方法默認禁用添加的網絡,所以你應該使用enableNetwork()方法來啓用它。
3
爲了讓OP的示例代碼的工作,我必須增加一個行:
wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
如果沒有這條線,它只是將無法連接到網絡。接受並添加配置,但不進行連接嘗試。我實際上在logcat窗口中收到以下消息:
Event [WPA: Failed to select WPA/RSN] android
這使我找到最終解決方案,弄清楚爲什麼它不適用於我。
相關問題
- 1. wkhtmltopdf暫停,需要人工干預
- 2. Android wifi連接
- 3. 自動啓動遠程調試,無需人工干預clion
- 4. 如何獲得oauth_verifier無需人工干預
- 5. Android中的人臉檢測,無需用戶干預
- 6. WiFi連接在機器人
- 7. Android:自動連接到webservice,無需用戶干預的最佳方式
- 8. 通過WiFi信號連接iPhone而無需加入WiFi網絡
- 9. 使用Android的WIFI到WIFI連接性
- 10. 使用無WiFi連接的WiFi
- 11. 已連接但無法連接的Wifi
- 12. 等到wifi連接到android
- 13. ANDROID - 測試wifi連接
- 14. 連接WiFi p2p android,WIFI_P2P_CONNECTION_CHANGED_ACTION
- 15. Wifi連接工作inspite接入點
- 16. Android的Unity3D Wifi直接連接
- 17. 通過應用程序連接到無人機wifi
- 18. GameKit wifi連接?
- 19. 星火工人無法連接到主
- 20. XAMPP停止連接到WIFI工作
- 21. 如何檢查android wifi連接?
- 22. Android - 以編程方式連接到wifi
- 23. 通過WiFi上的http連接android
- 24. 限制Android設備的WiFi連接
- 25. 檢索WiFi連接狀態(Android)
- 26. Android WiFi-Direct連接和廣播
- 27. 使用Android APP與WIFI代理連接
- 28. 的Android 4.0 - 檢查連接到WiFi
- 29. 在Android Wear上保持wifi連接
- 30. 檢測連接到Wifi的Android設備
它解決了我的問題!謝謝 – Shatazone 2012-01-23 11:40:24
令人驚歎的解決方案!任何想法如何找出輸入的密碼是否錯誤?我試圖添加一個嘗試捕獲,但它不工作,密碼保存到WiFi網絡,並再次連接到它的唯一方法是忘記網絡或更改密碼 – Zame 2016-03-13 17:24:04