1

我正在开发Android应用程序,其中涉及连接特定的WiFi SSID而不使用密码。每当用户进入房屋应用程序时,都会通过BLE检测特定的信标。在该应用程序尝试连接使用WifiManager编程的应用程序代码的WiFi。 我在这里面临一些问题: 1)如果WiFi已在手机中禁用 - 应用程序启用WiFi并尝试连接到已配置的WiFi(可能是字母顺序)。在这种情况下,它可能会连接另一个可用并在手机中配置的WiFi,而不是连接到我的SSID。连接到使用Android库的Android中的特定WiFi,当WiFi在手机中被禁用时

2)如果WiFi在手机中启用:如果WiFi已启用应用程序重新连接到我的SSID是正确的。

3)WiFi禁用,我的SSID没有在手机中配置。它不会连接到WiFi。

病例1和3真的很头疼。我如何在程序正在做的,请参阅代码:

// wifi 
WifiManager wifiManager= (WifiManager) getSystemService(Context.WIFI_SERVICE); 
// setup a wifi configuration 
WifiConfiguration wc= new WifiConfiguration(); 
wc.SSID = "\"mySSID\""; 

wc.status = WifiConfiguration.Status.ENABLED; 
try { 
Thread.sleep(1000); 
} catch (InterruptedException e) {} 

wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); 
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); 
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 
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); 
wifiManager.reconnect(); 
+0

我想你认为WIFI被禁用的方式与大多数电话销售商查看“不要呼叫”列表的方式大致相同。 – Tibrogargan

回答

0

您的应用程序后从BLE

作为一个很乖的应用程序,你应该重新启用所有的应用程序退出之前的网络配置。