2012-12-05 40 views
1

崩溃时我有一个Android应用程序试图连接到一个网站在的AsyncTask和执行某些任务。我的应用程序似乎总是崩溃时,存在即该应用程序的网络连接的改变被连接到WiFi网络开始,但失去连接,切换到移动网络。发生这种情况时,我的Android应用程序崩溃。我的代码被包围在一个try catch块中,所以我不知道为什么应用程序会崩溃?我如何解决我的问题?应用来自WiFi切换到移动网络

谢谢!

+5

PLZ发表您的任务和logcat的.. – Nermeen

+0

我不能在try/catch语句失败发表评论,但最初的崩溃原因可能是错误不足时,连接会意外因终止开关检查。 –

+1

用try-catch块周围的东西有什么用是否您的应用程序崩溃或不能做的事。例如,您尝试访问资源。它失败并引发异常。你抓住它,但不要对它做任何事情。之后,您尝试使用空值的资源,因为访问失败,并且繁荣,空指针异常。正如Nunu所说,logcat和代码或者没有人可以提供帮助。 – Simon

回答

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

我不知道这是否会矫枉过正写:

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

而且,我需要监控时,由连接WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION的广播接收器。事实证明,我有一个复制和粘贴错误在我的onResume(),我是不是真的注册WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION。

或U可以使用下面的链接

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

0

你必须确保你等待网络连接继续保持自己的网站连接之前可用。

此外,要知道,如果你尝试启用事先不禁用无线移动连接,Android系统将自动关闭新启用的移动连接(因此,优先考虑的WiFi总结)。所以,你需要确保你按照正确的顺序做:(支持WiFi)

  1. (无线就绪)
  2. 网站的连接已启动
  3. 网站连接STOPPPED
  4. (无线禁用)
  5. (无线网络不可用)(启用移动)
  6. (手机拍摄)
  7. 网站连接RESUMED
相关问题