Android四大組件之一:BroadcastReceiver

這是一座美麗的學校,名爲安卓學院。安全


有一天,校內響起了廣播:請二年B班的魯易發同窗到辦公室來!spa

魯易發事先就知道會找他,因此作好準備就去了。(一個簡單的接收廣播的例子)io


次日,校內響起了廣播:請二年B班的所有女同窗到辦公室來~(普通廣播權限

女同窗們都有點懼怕,因此只有部分人去了。(已註冊該廣播的接收者都能收到,但處理不一樣,也沒法終止廣播程序


第三天,校內響起了廣播:請二年B班派個表明到辦公室來。(有序廣播di

班主任堅決果斷的衝向辦公室。(接收者優先級最高的先處理廣播)時間

在辦公室的校長對班主任下達一個指令:去除草!co

班主任在回教室的途中遇到班長,對班長下命令:帶幾我的去除草!(處理完廣播後傳給優先級較低的接收者)display

班長回到班裏,大喊:除草啦!(接收者按優先級的順序傳下去)消息

班裏的人都去除草了,但魯易發還在睡覺,沒聽到,也沒人叫醒他,因此他錯過了除草活動。(優先級高的接收者能夠選擇終止這個廣播,優先級低的接收者就收不到這個廣播了)


第四天,校內響起了廣播:全部同窗聽着,凡是父母當官的請到辦公室來。

魯易發有點好奇,想去辦公室,不過被攔住了,由於魯易發的父母不是當官的。(一些廣播爲了安全起見,會附帶權限要求,沒有聲明指定權限則沒法接收到廣播)


第五天,魯易發加入了學生會。(動態註冊了某個廣播)

由於只有加入學生會才能獲得一些隱祕的消息。

不過學生會天天都會下達任務給魯易發作,魯易發受不了就退出學生會了。(取消了這個廣播的註冊)

(這種註冊方式就是動態註冊,一旦取消註冊後就再也收不到該廣播了)


第N天,魯易發很高興,由於又到了領學校補貼的時間了。

校內響起了廣播:有請魯二發、魯三發、魯四發到辦公室領補貼。

怎麼回事呢?魯易發很奇怪沒有念他的名字,因而去找老師。

老師告訴他,今年申請的人數比較多,因此先申請的優先。(動態註冊的接收者相同優先級下誰先註冊誰就先觸發

但是很奇怪呀,魯四發跟我同班,但是他沒有申請呀?魯易發提出疑問。

老師告訴他,魯四發是以貧困生的身份入學的,申不申請都會發補貼的。(靜態註冊無論程序有沒有啓動都會接收到廣播,但會慢於動態註冊


最終魯易發仍是沒拿到補貼。

相關文章
相關標籤/搜索