【摘要】:Android 中的广播主要可以分为标准广播和有序广播两类。这种广播效率比较高,但同时也意味着它是无法被截断的。图12-1标准广播工作流程有序广播则是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。图12-2有序广播的工作流程优先级就是在清单文件中注册广播接收器时定义的android:priority=“”参数,优先级的范围为-1 000 ~1 000。
Android 中的广播主要可以分为标准广播和有序广播两类。
标准广播(Normal boradcast)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时间接收到这条广播消息,因此它们之间没有任何先后顺序可言。 这种广播效率比较高,但同时也意味着它是无法被截断的。 标准广播的工作流程如图12-1 所示。
图12-1 标准广播工作流程(www.xing528.com)
有序广播(Ordered boradcast)则是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。 所以此时的广播接收器是有先后顺序的,优先级高的广播接收器就可以先收到广播消息,并且前面的广播接收器还可以截断正在传递的广播,这样后面的广播接收器就无法接收到广播消息了。 有序广播的工作流程如图12-2 所示。
图12-2 有序广播的工作流程
优先级就是在清单文件中注册广播接收器时定义的android:priority=“”参数,优先级的范围为-1 000 ~1 000。 如果两个广播接收器优先级相同,则先注册的组件优先接收到广播。 如果两个应用程序监听了同一个广播事件并设置了优先级,则先安装的应用优先接收到广播。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。