丢失之后如何重新获得网络连接?

时间:2014-10-16 08:57:04

标签: android android-wifi android-networking

我正在开发一个能够通过它连接到WiFi网络的Android应用程序,一切正常,我正在创建可用的WiFi网络列表和用户用户之一建立连接,以下方法是用于建立连接的一个:

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);

1 个答案:

答案 0 :(得分:0)

听起来像是一个逻辑问题。

为什么不跟踪上一次成功的netId?如果新的失败 - >

wifiManager.enableNetwork(lastGoodNetId, true);