2012-12-05 42 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
相關問題