2010-07-22 97 views
29

我有一個從服務器下載文件的服務。我警告用戶只能在下載開始之前通過無線局域網下載文件。如何監控Android中的網絡連接狀態?

我的問題是,如果我的網絡連接鬆動,我的下載卡住了。有沒有辦法監聽網絡連接的變化,或者是否完全丟失?

回答

79

傾聽CONNECTIVITY_ACTION

這個貌似不錯sample code。這裏是一個片段:

BroadcastReceiver networkStateReceiver = new BroadcastReceiver() { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Log.w("Network Listener", "Network Type Changed"); 
    } 
}; 

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);   
registerReceiver(networkStateReceiver, filter); 
+0

我添加了一個匿名廣播接收器只是爲了使樣本完全清晰。感謝你的回答。 – Janusz 2010-07-22 10:23:33

+0

我可以用那個networkStateReceiver和過濾器對象做什麼?請顯示更多detials ....! – 2014-05-27 03:31:38

+0

當活動/片段破壞/暫停時,請不要忘記註銷接收者 – 2015-04-26 10:29:42