廣播和廣播接收者
(1)廣播:就是一對多,就是傳送資訊
(2)廣播接收者:就是接收廣播傳送的訊息並做處理
在android中,廣播接收者才是四大元件之一,廣播不是
廣播不會決定誰是接收者,只要是註冊了該廣播,那麼就能成為該廣播的接收者
接收系統傳送的廣播:比如,網路變化,開機狀態,手機的狀態
廣播接收者的註冊方式有兩種
(1)動態的註冊:在**裡面註冊
靈活度比較高,但是當activity結束的時候必須解除註冊
註冊的步驟
(1)建立接收者物件
(2)建立intentfilter物件
(3)為intentfilter物件新增action
(4)註冊: registerreceiver(networkreceiver,intentfilter);
解除註冊:
呼叫unregisterreceiver(networkreceiver);
註冊和解除註冊的物件必須是同乙個
(2)靜態的註冊:就是在清單檔案中註冊
使用的是receiver節點:
傳送自定義的廣播:
name屬性指定了要監聽的廣播的型別
廣播的種類分為兩種:
(1)無序廣播
所有的接收者基本是同一時刻接收到廣播,彼此之間沒有任何的關係
(2)有序廣播
優先順序高的廣播接收者會優先接收到廣播資訊,並且可以對廣播資料進行修改或者攔截廣播
傳送無序廣播:
步驟:(1)
傳送廣播的module
intent intent = new intent();
intent.setaction(「com.yunhe.unorderbroadcast」);
sendbroadcast(intent);
action必須要設定,否則匹配
(2)廣播接收者module:
直接在清單檔案中配置receiver就行了,action要跟傳送廣播設定的action 保持一致
傳送有序廣播:
(1)傳送廣播的module
sendorderedbroadcast(intent,null,null,null,1,」100萬」,null);
使用priority屬性可以指定廣播接收者的優先順序,優先順序越高的廣播接收者優先接收到廣播,並可以對廣播進行攔截.android:name=".mythirdreceiver">
android:priority="400">
android:name="com.yunhe.orderedbroadcast">
action>
intent-filter>
receiver>
廣播接收者
廣播被分為倆種不同的型別,普通廣播和有序廣播,普通廣播是完全非同步的。可以在同一時刻被所有的接收者收到。訊息傳遞的效率比較高,但是缺點是 接收者不能將結果傳遞給下乙個接收者。並且無法終止廣播intent的傳播。然後有序廣播是按照接收者申明的優先級別 申明在intent filter元素的androi...
廣播接收者 BroadcastReceiver
廣播接收者 broadcastreceiver 1,什麼是broadcastreceiver?廣播接收者 broadcastreceiver 用於非同步接收廣播intent,廣播intent的傳送是通過呼叫context.sendbroadcast context.sendorderedbroadc...
簡訊廣播接收者
package com.itheima.mobiesafe.receiver import com.itheima.mobiesafe.r import com.itheima.mobiesafe.service.gpsservice import com.itheima.mobiesafe.ser...