我正在开发一个安卓应用程序,可以通过它连接到WiFi网络,一切都很好,我正在创建可用的WiFi网列表,其中一个用户是用来建立连接的,下面的方法是用来建立连接的方法:
int netId;
boolean disableOthers;
wifiManager.enableNetwork(netId, disableOthers);现在我已经有了两个场景:
disableOthers设置为true,这将禁用已连接的网络,以便与上述网络建立连接。disableOthers设置为false,这将使而不是禁用已连接的网络,因此新的网络连接将不会建立,因为已经存在已成功建立的连接。所以,我没有任何选择,只能使用case one ,但问题是禁用连接的网络,如果连接到新网络的连接由于任何原因(如密码错误或超出范围)而失败,设备就会变得没有任何网络连接,所以,我想要的只是一种方法,使我能够在目标连接到新网络失败时恢复以前的连接。
更新:
关于@bmartins的回答,我是这样做的:
public static int net_id;
// storing the current connection Net.ID
WifiInfo info = wifiManager.getConnectionInfo();
net_id = info.getNetworkId();
// connecting to the new Net
private void connect(networkId){
wifiManager.disconnect();
wifiManager.enableNetwork(networkId, true);
wifiManager.reconnect();
wifiManager.saveConfiguration();
}然后当连接失败时:
connect(net_id);发布于 2014-10-16 10:33:25
听起来是个合乎逻辑的问题。
为什么不跟踪上一个成功的netId呢?如果new失败,->
wifiManager.enableNetwork(lastGoodNetId, true);
https://stackoverflow.com/questions/26400202
复制相似问题