廣播接收者的分類,兩種分法:
一、分為全局廣播和本地廣播
二、分為有序廣播和無序廣播
廣播接收者的注冊,動態(tài)注冊和靜態(tài)注冊
第一行代碼劃線筆記:
1、發(fā)送廣播的方法:借助Intent
2、動態(tài)注冊的廣播接收器可以自由的控制注冊與注銷,在靈活性方面有很大的優(yōu)勢,但是它也存在著一個缺點,即必須要在程序啟動之后才能接收到廣播,因為注冊的邏輯是寫在onCreat()方法中的。
3、需要注意的是,不要在onReceive()方法中添加過多的邏輯或者進行任何的耗時操作,因為在廣播接收器中是不允許開啟線程的,當onReceive()方法運行了較長時間而沒有結(jié)束時,程序就會報錯。因此廣播接收器更多的是扮演一種打開程序其他組件的角色,比如創(chuàng)建一條狀態(tài)欄通知,或者啟動一個服務等。
4、廣播是一種可以跨進程的通信方式
5、為了能夠解決廣播的安全性問題,Android引入了一套本地廣播機制,使用這個機制發(fā)出的廣播只能夠在應用程序的內(nèi)部進行傳遞,并且廣播接收器也只能接收來自本應用程序發(fā)出的廣播。 LocalBroadcastManager
6、本地廣播是無法通過靜態(tài)注冊的方式來接收的
7、發(fā)送本地廣播比發(fā)送全局廣播更加高效
8、實現(xiàn)強制下線功能:當我們被通知需要強制下線時,可能處于任何一個界面,難道需要在每個界面上都編寫一個彈出對話框的邏輯?強制下線功能需要先關閉所有的活動,然后回到登錄界面。應該在哪里創(chuàng)建廣播接收器?答案很明顯,只需要在BaseActivity中動態(tài)注冊一個廣播接收器就可以了,因為所有的活動都是繼承自BaseActivity的。