低调大师

您现在的位置是: 首页 > Android四大组件之一:BroadcastReceiver

文章详情

Android四大组件之一:BroadcastReceiver

2015-1-24 21:16 103已围观 收藏 加入我们

这是一座美丽的学校,名为安卓学院。


有一天,校内响起了广播:请二年B班的鲁易发同学到办公室来!

鲁易发事先就知道会找他,所以做好准备就去了。(一个简单的接收广播的例子)


第二天,校内响起了广播:请二年B班的全部女同学到办公室来~(普通广播

女同学们都有点害怕,所以只有部分人去了。(已注册该广播的接收者都能收到,但处理不同,也无法终止广播


第三天,校内响起了广播:请二年B班派个代表到办公室来。(有序广播

班主任毫不犹豫的冲向办公室。(接收者优先级最高的先处理广播)

在办公室的校长对班主任下达一个指令:去除草!

班主任在回教室的途中遇到班长,对班长下命令:带几个人去除草!(处理完广播后传给优先级较低的接收者)

班长回到班里,大喊:除草啦!(接收者按优先级的顺序传下去)

班里的人都去除草了,但鲁易发还在睡觉,没听到,也没人叫醒他,所以他错过了除草活动。(优先级高的接收者可以选择终止这个广播,优先级低的接收者就收不到这个广播了)


第四天,校内响起了广播:所有同学听着,凡是父母当官的请到办公室来。

鲁易发有点好奇,想去办公室,不过被拦住了,因为鲁易发的父母不是当官的。(一些广播为了安全起见,会附带权限要求,没有声明指定权限则无法接收到广播)


第五天,鲁易发加入了学生会。(动态注册了某个广播)

因为只有加入学生会才能得到一些隐秘的消息。

不过学生会每天都会下达任务给鲁易发做,鲁易发受不了就退出学生会了。(取消了这个广播的注册)

(这种注册方式就是动态注册,一旦取消注册后就再也收不到该广播了)


第N天,鲁易发很高兴,因为又到了领学校补贴的时间了。

校内响起了广播:有请鲁二发、鲁三发、鲁四发到办公室领补贴。

怎么回事呢?鲁易发很奇怪没有念他的名字,于是去找老师。

老师告诉他,今年申请的人数比较多,所以先申请的优先。(动态注册的接收者相同优先级下谁先注册谁就先触发

可是很奇怪呀,鲁四发跟我同班,可是他没有申请呀?鲁易发提出疑问。

老师告诉他,鲁四发是以贫困生的身份入学的,申不申请都会发补贴的。(静态注册不管程序有没有启动都会接收到广播,但会慢于动态注册


最终鲁易发还是没拿到补贴。

文章转载至:https://my.oschina.net/u/816576/blog/371426
收藏 (0)

文章评论

共有0条评论来说两句吧...