2012-10-18 35 views
2

可能重複:
How to connect to a specific wifi network in android programmatically?連接到指定的Wi-Fi網絡中的Android

我知道有這樣一個幾個問題,但我已經嘗試過的一切,我在計算器和其他網站找到,但沒有什麼解決了我的問題。

我從一臺設備創建一個接入點,並試圖以編程方式從另一臺設備連接到它。 WifiConfiguration在兩臺設備上都完全相同。我能找到網絡,但它不會連接到它!我很確定AP不是問題,因爲我可以通過默認的Android wifi設置(手工輸入密碼等)連接到它。

//當網絡通過startScan發現(),我嘗試連接:

WifiConfiguration wc=new WifiConfiguration(); 
wc.SSID="\"my_ssid\""; 
wc.preSharedKey = "\"my_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); 
wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 

int netId=wifi.addNetwork(wc); 
wifi.enableNetwork(netId, true); 

的addNetwork()返回一個有效的網絡ID。我沒有得到任何錯誤。它只是不連接。

我已經嘗試將WifiConfiguration更改爲OPEN,還有其他一些東西,但沒有任何作用。 wifi也啓用。 如果有人能幫助我,我將非常感激。

回答

2

經過連續的嘗試/失敗測試,​​我得到了解決方案。 SSID和密碼(預先密鑰)必須在引號之間,只需在客戶端!。 AP 的Wificonfiguration中的SSID和密碼不需要引號

改變後,它開始工作。

每天我都對Android的這種「嚮導」解決方案感到更加失望....

相關問題