Android廣播學習總結
android 中的廣播分為兩種,有序廣播和無序廣播
1.廣播的種類
無序廣播是一種非同步的廣播傳播機制,當廣播發送出去以後,所有廣播接收器幾乎會在同一時間收到廣播。 有序廣播是一種同步的廣播傳播機制,當廣播發送出去以後,同一時刻只有一個廣播接收器收到廣播。
2.廣播的註冊方式靜態註冊 在AndroidManifest 檔案裡註冊,如果使用Androidstudio建立廣播的話會自動在配置檔案裡註冊的。
動態註冊
在java檔案裡註冊 Activity裡的oncreate()方法裡寫registerReceive() 動態註冊的廣播要注意銷燬 在onDestroy()方法裡執行 unregisterReceive()進行銷燬
3.怎樣傳送廣播 Android中我們使用Intent來發送廣播 一般的寫法如下
(1)傳送無序廣播 Intent intent =new Intent("");//寫 intent -filter 的action sendBroadcast(intent);
這裡是寫靜態註冊的廣播接收器的 其實就是一個標誌 動態的話就是自己起名字了 <intent-filter><action android :name=""/></intent-filter>(2)傳送有序廣播
Intent intent =new Intent("") sendOrderedBroadcast(intent ,null);
這裡是寫靜態註冊的廣播接收器的 其實就是一個標誌 動態的話就是自己起名字了 <intent-filter><action android :name=""/></intent-filter>
註冊的時候可以修改程式收到廣播的優先性 優先順序高的廣播接收器,優先收到廣播
具有較高優先順序的廣播接收器具有對廣播的傳遞控制 如果廣播接收器在onReceive()方法裡呼叫了 abortBroadcast(),那麼廣播就會被截斷
4.接收廣播 新建類繼承自BroadcastReceiver 重寫onReceive()方法 在onReceive(){ //具體的業務邏輯程式碼
}
5.本地廣播的使用 本地廣播是指只能接受自己應用程式內的廣播,解決了一些安全問題 並且本地廣播只可以動態註冊
具體使用如下: