廣播的型別

2021-09-30 15:46:19 字數 814 閱讀 1186

廣播的種類:

1、sendbroadcast 普通廣播: 所有註冊監聽該廣播事件的的接收者都能接收到到廣播

2、sendorderedbroadcast 有序廣播: 按優先順序的大小的順序接收廣播,優先順序大的接收者可以將廣播廢棄,讓後面的接收者不能接收到廣播。也可以修改廣播的內容。

有序廣播可以指定最後乙個接收到訊息的接收者,這時即使中途訊息被abortbroadcast()了,還是能夠收到資訊。系統提供的打**的廣播接

收者就是這樣的。

3、sendstickybroadcast 粘性廣播:另外開啟乙個執行緒,處理廣播接收。沒有10秒的限制。應用場景是,wifi狀態掃瞄。

廣播接收者的生命週期:

廣播接收者是執行在主線程裡面的,執行時間不能超過10秒,如果超過10秒,系統就會將其阻塞。

廣播接收者其實就像乙個普通的類,在intent-filter中配置監聽了一些動作。smslistener的例子就是用廣播接收者監聽了android.provider.telephony.sms_received動作

而service的生命週期更長,它也是監聽一些動作,做一些事情。只不過它需要手動的新增對某些事件的***,並且監聽到了後能做的事情更多。

tm = (telephonymanager) getsystemservice(telephony_service);

//註冊乙個**狀態改變的***.

tm.listen(new myphonelistener(), phonestatelistener.listen_call_state);

所以說,什麼receiver ,什麼service,其工作原理其實是一樣一樣兒滴!

nrf51822 廣播的型別

1.目的 設定廣播的型別 2.分析 在專案中經常使用到各種不同的廣播型別,比如只做廣播而不能被連線,且不定性廣播的時候可以設定為ble gap adv type adv nonconn ind,假如只指定mac位址的裝置才能連上裝置,這個時候就可以用定向廣播 3.平台 協議棧版本 sdk8.0.0 ...

有序廣播,粘性廣播

1.註冊多個receiver,要同時使用同乙個action,設定priority來指定優先順序。2.傳送有序廣播 sendorderedbroadcast intent,null intent intent newintent www.wangpeng intent.putextra name 我是...

動態廣播和靜態廣播的區別

1.動態註冊廣播不是 常駐型廣播 也就是說廣播跟隨activity 的生命週期。注意 在 activity 結束前,移除廣播接收器。靜態註冊是 常駐型,也就是說當應用程式關閉後,如果有資訊廣播來,程式也會被系統呼叫自動執行。2.當廣播為 有序廣播 時 1 優先順序高的先接收 2 同優先順序 的廣播接...