Android基礎之廣播
阿新 • • 發佈:2018-12-19
一、型別
-
標準廣播
完全非同步執行的廣播,所有廣播接收器幾乎都會同時接收到這條廣播訊息
-
有序廣播
同步執行的廣播,廣播接收器有先後順序
二、接收系統廣播
-
如何建立一個廣播接收器?
新建一個類,讓他繼承自BroadcastReceiver,並且重寫父類的onReceive()方法
-
動態註冊(在程式碼中註冊—推薦)
MainActivity.java
package com.example.lenovo.broadcasttest; import android.content.BroadcastReceiver; import android.content.Context;
在AndroidManifest.xml中註冊許可權(不註冊會導致崩潰)
<!-- 申請檢視網路狀態的許可權 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
效果圖:
3. 靜態註冊(在AndroidManifest.xml註冊—不推薦)
-
優點:
在程式未啟動的情況下就能接收廣播
-
問題原因: Android8.0在AndroidManifest.xml檔案中靜態註冊廣播接收失效是由於官方對耗電量的優化,避免APP濫用廣播的一種處理方式。除了少部分的廣播仍支援靜態註冊(如開機廣播),其餘的都會出現失效的情況。
-
解決方案:
儘量使用動態註冊