android學習日記之broadcast

所有文檔及實例均爲老師編寫歸納,版權均歸我的Android老師所有,如有侵權即刪

Broadcast:

1.      Broadcast:廣播,不區分應用進程,整個android系統共享。

2.      如何發送廣播:在Android上發送廣播室通過Context對象的sendBroadcast實現發送廣播的功能(sendStickyBroadcast)

3.      如何接受廣播:在Android上通過註冊BroadcastReceiver來接受廣播。

4.      如何註冊BroadcastReceiver:

第一種註冊方式,靜態註冊:

l  創建一個class對象繼承BroadcastReceiver,重寫onReceive方法,處理接受到的廣播

l  在清單文件中聲明該BroadcastReceiver,並通過intent-filter來指定,該廣播接收器接受哪些廣播

靜態註冊的特點:只要應用程序進程存在,那麼就可以接受到廣播(只有註冊,沒有註銷)

 

第二種註冊方式,動態註冊:

l  在需要接收廣播的類中,創建一個BroadcastReceiver類對象,編譯器會自動要求開發人員重寫onReceive方法,在其中處理收到的廣播

l  在類中通過Context對象,完成註冊和註銷

l  動態接收器,有註冊必須有註銷(在activity中,註冊和註銷應該正好對應聲明週期)

l  在註冊接收器之前,要爲接收器創建一個IntentFilter對象來指定接收器接收哪些廣播

動態註冊特點:只有開發者手動註冊之後,才能接收廣播,開發者註銷掉之後,不能接收廣播了

 

粘性廣播和普通廣播的區別:

1.      粘性廣播發出後,常駐內存,無論何時註冊reciver,都能收到廣播。普通廣播,必須是先註冊reciver再發送廣播才能收到

2.      粘性廣播默認存在一個屬性(replace:將相同作用的廣播,用新的替換舊的)

3.      註冊了replace屬性(Intent.FLAG_RECEIVER_REPLACE_PENDING)後,廣播的替換規則


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章