2014-01-07 159 views
0


我正在開發一款手機應用程序,當手機從wifi切換到手機,從手機切換到wifi,從wifi或移動切換到無網絡,從無網絡切換到wifi或移動時,需要恢復其連接。
我已經寫了一個BroadcastReceiver對象,它捕獲CONNECTIVITY_CHANGE意圖,並從上下文獲得ConnectivityManager對象。然後我從中創建一個NetworkInfo對象。
問題是:爲什麼我每次切換網絡類型時都會收到兩個意圖(當我關閉網絡時,我只收到一條消息)。
我想第一個意圖的目的是通知活動連接關閉,第二個意圖是通知系統切換到另一個活動連接,但我不確定這個以及如何在接收器中測試它。
有沒有人有一個代碼片段來正確處理這種事件?什麼是處理android連接更改的最佳方式?

感謝您的回答。

問候

回答

0

這是回答你的問題:

爲什麼我得到我每次切換網絡類型兩個目的(我收到只有一個消息時,我關掉網絡)。

你得到兩個電話,因爲當一個連接或者已建立或丟失按照谷歌文檔「CONNECTIVITY_CHANGE」發送一個廣播,所以,當您更改網絡類型,您在一個連接丟失(這是一個調用)和您在另一個網絡(第二個呼叫)中建立了連接,現在當您關閉網絡時,您只會收到連接中斷的呼叫。 請注意,「CONNECTIVITY_CHANGE」只會讓您知道有關網絡正在進行的操作,但您必須從ConnectivityManager查詢該信息,以便知道網絡已丟失/建立連接等情況時。

希望它有所幫助。

問候!

+0

Thx Martin,我對此並不確定。當我收到第一條消息時,是否有可能檢測到丟失的連接的類型?如何測試這條消息是否是連接丟失? – onizukaek

相關問題