Android監聽網路狀態,促發事件

2021-06-26 06:36:53 字數 1002 閱讀 1751

最近想實現在網路斷開時取得的資料存於sqlite,然後在網路連線的時候將資料自動上傳。對於android的聯網事件,首先要註冊receiver

網路狀態發生變化的時候,系統會發出 android.net.conn.connectivity_change 廣播

手機解鎖動作的時候,系統會發出android.intent.action.user_present 廣播,我這裡為了在解鎖手機時獲取到,所以新增上手機解鎖事件廣播。

註冊receiver後,就可以在connctionchangereceiver中接收到網路狀態變化和手機解鎖動作的廣播

其次,我們處理接收到的廣播,實現方法如下,在onreceive中新增網路狀態判斷

connectivitymanager connectmgr = (connectivitymanager) context.getsystemservice(context.connectivity_service);

networkinfo mobnetinfo = connectmgr.getnetworkinfo(connectivitymanager.type_mobile);

networkinfo wifinetinfo = connectmgr.getnetworkinfo(connectivitymanager.type_wifi);

connectivitymanager 獲取當前系統服務資訊

getnetworkinfo 分別獲取 型別為mobile和wifi兩種聯網方式的資訊。

通過判斷mobnetinfo.isconnected() 和 wifinetinfo.isconnected() 返回的boolean 布林值來確定當前聯網狀態。

if (!mobnetinfo.isconnected() && !wifinetinfo.isconnected()) else

這裡只新增了當前是否連線網路,如果需要區分是資料還是wifi連線,可以分別判斷。

這裡要注意,要新增訪問許可權

大體思路是這樣的,具體實現還需要進一步細化。

Android 監聽網路狀態

原文 網路狀態發生變化的時候,系統會發出 android net.conn.connectivity change 廣播 手機解鎖動作的時候,系統會發出android.intent.action.user present 廣播,我這裡為了在解鎖手機時獲取到,所以新增上手機解鎖事件廣播。註冊recei...

android監聽網路狀態

public class wificonnlisterer extends broadcastreceiver else if wifistate wifimanager.wifi state enabled 這個監聽wifi的連線狀態即是否連上了乙個有效無線路由,當上邊廣播的狀態是wifimana...

Android的網路狀態監聽

1 獲取當前網路資訊 想要獲取當前的網路資訊,就得獲取connectivitymanager,呼叫connectivitymanager的getactivenetworkinfo 方法,返回乙個networkinfo物件。這個networkinfo物件中的gettypename 方法,會返回當前的網...