从wifi切换到移动网络时,应用程序崩溃

时间:2012-12-05 08:28:17

标签: android ftp android-wifi

我有一个Android应用程序试图连接到AsyncTask中的网站并执行一些任务。当网络连接发生变化时,我的应用程序似乎总是崩溃,即应用程序最初连接到wifi网络,但丢失连接并切换到移动网络。发生这种情况时,我的Android应用程序崩溃了。我的代码被try catch块包围,所以我不确定为什么应用程序会崩溃?我如何解决我的问题?

谢谢!

2 个答案:

答案 0 :(得分:0)

WifiInfo info = WifiManager.getConnectionInfo();
if (info.getSSID() != null) {
    String ssid = info.getSSID();
    ...
}

我不知道写作是否有点过分:

if (info != null && info.getSSID() != null)

此外,建立连接时我需要监视的BroadcastReceiver是WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION。事实证明我的onResume()中有一个复制和粘贴错误,而我实际上并没有注册WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION。

或您可以使用以下链接

Android: How to Enable/Disable Wifi or Internet Connection Programmatically

答案 1 :(得分:0)

在继续网站连接之前,您必须确保等待网络连接可用。

另外,请注意,如果您尝试在未事先禁用WiFi的情况下启用移动连接,Android系统将自动关闭新启用的移动连接(它优先考虑WiFi以进行总结)。因此,您需要确保以正确的顺序执行此操作:

  1. (启用WiFi)
  2. (WiFi ready)
  3. 网站连接已启动
  4. 网站连接已停止
  5. (禁用WiFi)
  6. (WiFi不可用)
  7. (已启用移动设备)
  8. (手机就绪)
  9. 网站连接已恢复