靜態註冊:在清單文件中直接註冊,從打開應用程序到銷毀應用程序,壹直在接收廣播,這需要很長時間,但接收廣播的優先級低於動態註冊的廣播。
動態註冊:動態註冊,動態銷毀,從onCreate到取消註冊,期間接收廣播,廣播接收時間短且可控,接收廣播的優先級高。例如:
發送廣播:
Intent I = new Intent();
I。set ACTION(“ACTION _ CLOSE“);
發送廣播(壹);
接受廣播:
onCreate(){
//註冊廣播的接收者。
intent filter filter = new intent filter();
filter . addaction(“ACTION _ CLOSE _ ACTIVITY“);
receiver = new inner receiver();
registerReceiver(接收器、過濾器);
}
私有類InnerReceiver擴展BroadcastReceiver {
@覆蓋
Receive上的公共void(上下文、意圖){
?//當前活動收到廣播時//TODO需要做的事情。
}
}
}
//註銷廣播
@覆蓋
受保護的void on destroy(){
super . on destroy();
unregisterReceiver(接收器);
}
2.引入廣播的原因:
a)不同應用程序之間的消息傳遞是通用的。
b)發布指定,這需要多個活動來響應。
註:以上僅供參考。如果妳有任何問題,請提問。謝謝妳。