2014-04-01 17 views
8

Xin chào, tôi đang cố gắng kết nối ứng dụng của mình với một điểm truy cập cụ thể bằng cách sử dụng api wifimanager. vì nó đứng Tôi có một danh sách của tất cả các điểm truy cập trong khu vực của tôi, từ danh sách này tôi đang lưu trữ chúng trong một mảng và chọn cái nào để kết nối. nhưng ở giai đoạn này là liều không kết nối. ai đó có thể giúp tôi.kết nối với điểm truy cập cụ thể android

(đây là một mạng mở Tôi đang cố gắng để kết nối.) đây là mã của tôi:

public void WifiConfiguration(){ 
    try { 
     ScanResult networkData = getIntent().getParcelableExtra("networkData"); 

     WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
     String networkPassWord = ""; 

     WifiConfiguration conf = new WifiConfiguration(); 
     conf.SSID = "\"" + networkData.SSID + "\""; 
     conf.BSSID = "\"" + networkData.BSSID + "\""; 
     conf.hiddenSSID = true; 
     conf.wepKeys[0] = "\"" + networkPassWord + "\""; 
     conf.wepTxKeyIndex = 0; 
     conf.status = WifiConfiguration.Status.ENABLED;   
     conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); 
     conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); 
     conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); 
     conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 
     conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 
     conf.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 

     conf.preSharedKey = "\""+ networkPassWord +"\""; 

     //conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 

     Log.d(TAG, "Initialising WIFI Manager"); 

     int id = wifiManager.addNetwork(conf); 
     Log.d(TAG, "conf.SSID: "+conf.SSID); 
     Log.d(TAG, "id: "+id); 
     wifiManager.disconnect(); 
     wifiManager.enableNetwork(id, true); 
     wifiManager.reconnect();  

     Log.d(TAG, "Should be connected...."); 

    } catch (Exception e) { 

     Log.d(TAG, e.toString()); 
    } 

} 
+0

Khi bạn kiểm tra trạng thái kết nối? – atok

+0

Tôi đang xem số người dùng trên mạng và không có ai, do đó ứng dụng không tạo kết nối – user3292394

+0

Tự mình trả lời. Cảm ơn tất cả sự giúp đỡ của bạn. – user3292394

Trả lời

0
conf.SSID = "\"" + networkData.SSID + "\""; 
    conf.BSSID = "\"" + networkData.BSSID + "\""; 

Các BSSID không cần phải được kèm theo trong dấu ngoặc kép, chỉ SSID.

Các vấn đề liên quan