Android 失去网络连接后如何恢复网络连接?
我正在开发一款android应用程序,能够通过它连接到WiFi网络,一切正常,我正在创建可用WiFi网络列表,其中一个用户将建立连接,以下方法用于建立连接:Android 失去网络连接后如何恢复网络连接?,android,android-wifi,android-networking,Android,Android Wifi,Android Networking,我正在开发一款android应用程序,能够通过它连接到WiFi网络,一切正常,我正在创建可用WiFi网络列表,其中一个用户将建立连接,以下方法用于建立连接: int netId; boolean disableOthers; wifiManager.enableNetwork(netId, disableOthers); 现在我有两个场景: 第一个是将disableOthers设置为true,这将禁用连接的网络,以便与所述网络建立连接。 第二种方法是将disableOthers设置为false
int netId;
boolean disableOthers;
wifiManager.enableNetwork(netId, disableOthers);
现在我有两个场景:
第一个是将disableOthers设置为true,这将禁用连接的网络,以便与所述网络建立连接。
第二种方法是将disableOthers设置为false,这不会禁用已连接的网络,因此不会建立新的网络连接,因为已经存在成功建立的连接。
因此,除了使用案例一,我没有任何选择,但问题是在禁用连接的网络时,如果由于密码错误或超出范围等原因导致与新网络的连接失败,设备将无法建立任何网络连接,因此,我所需要的只是一种方法,使我能够在连接到新连接失败时恢复以前的连接
更新:
关于@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);
听起来是个合乎逻辑的问题 为什么不记录最后一个成功的netId呢?如果新建失败->
wifiManager.enableNetworklastGoodNetId,true 听起来是个合乎逻辑的问题。为什么不记录最后一个成功的netId呢?如果新建失败->wifiManager.enableNetworklastGoodNetId,true@B我真的不知道我是怎么错过的,非常感谢你解决了我的问题,你可以自由添加答案