Android之广播

在安卓系统中,根据广播的执行顺序不同,可分为有序广播和无序广播。

1.有序广播

有序广播是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接受到这条消息,当这个广播接收器中的逻辑执行完毕之后,广播才会继续传递。所以,此时的广播接收器是由先后顺序的没并且可以被拦截。工作流程图如下:

这里写图片描述

2.无序广播

无序广播是一种完全异步执行的广播,在广播发出去之后,所有监听了这个广播事件的广播接收器几乎都会在同一时刻接收到这条广播,它们之间没有任何先后顺序科研,这种广播的效率会比较高,但是同时意味着它是无法被截断的。工作流程图如下:

这里写图片描述



在实际开发中,可能遇到这种情况:当发出了一个有序广播,然后定义多个接受者接受这条广播。这些广播接收者的优先级有高有低,需要其中一个广播接收者无论如何都要接收到广播事件,哪怕它的优先级是最低的或者广播被优先级高的而接收者强行终结,这时候需要用到sendOrderedBroadcast()方法发送有序广播,代码如下所示:

Intent intent=new Intent();
//定义广播的事件类型
intent.setAction("www.itcast.cn");
//发送有序广播
Receiver03 receiver03=new Receiver03();
sendOrderedBroadcast(intent,null,receiver03,null,0,null,null);

在上述代码中,首先定义出了指定要接受广播的广播接收者的实例。然后用sendOrderedBroadcast重载的方法,这个方法有多个参数,我们只需关注其中两个就可以了,第一个参数接受一个intent,第三个参数就是指定的广播接收者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值