原文:
網路狀態發生變化的時候,系統會發出 android
.net.conn.connectivity_change 廣播
手機解鎖動作的時候,系統會發出android.intent.action.user_present 廣播,我這裡為了在解鎖手機時獲取到,所以新增上手機解鎖事件廣播。
註冊receiver後,就可以在connctionchangereceiver中接收到網路狀態變化和手機解鎖動作的廣播
其次,我們處理接收到的廣播,實現方法如下,在onreceive中新增網路狀態判斷
connectivitymanager connectmgr = (connectivitymanager) context.getsystemservice(context.connectivity_service);connectivitymanager 獲取當前系統服務資訊networkinfo mobnetinfo = connectmgr.getnetworkinfo(connectivitymanager.type_mobile);
networkinfo wifinetinfo = connectmgr.getnetworkinfo(connectivitymanager.type_wifi);
getnetworkinfo 分別獲取 型別為mobile和wifi兩種聯網方式的資訊。
通過判斷mobnetinfo.isconnected() 和 wifinetinfo.isconnected() 返回的boolean 布林值來確定當前聯網狀態。
if (!mobnetinfo.isconnected() && !wifinetinfo.isconnected()) else這裡只新增了當前是否連線網路,如果需要區分是資料還是wifi連線,可以分別判斷。
這裡要注意,新增android permission訪問許可權
"android.permission.access_network_state" />以上就是android 監聽網路狀態的**實現過程。
android監聽網路狀態
public class wificonnlisterer extends broadcastreceiver else if wifistate wifimanager.wifi state enabled 這個監聽wifi的連線狀態即是否連上了乙個有效無線路由,當上邊廣播的狀態是wifimana...
Android的網路狀態監聽
1 獲取當前網路資訊 想要獲取當前的網路資訊,就得獲取connectivitymanager,呼叫connectivitymanager的getactivenetworkinfo 方法,返回乙個networkinfo物件。這個networkinfo物件中的gettypename 方法,會返回當前的網...
Android 下網路狀態監聽
最近在做網路監聽的時候發現原來用的 networkinfo 中好多方法已經過期,so 看了下sdk及文件現將最新方法記錄下。獲取網路連線管理 connectivitymanager connectivitymanager connectivitymanager context.getsystemse...