Android发送自定义广播

Android系统不仅存在系统级广播,用户也可以自定义广播。Android系统中的广播可以分为两种类型:1.标准广播 2.有序广播。

1.标准广播

       标准广播完全异步执行,在广播发出之后,所有的广播接收器几乎可以同时接收到这条广播消息,这种广播的效率比较高,但是意味着它无法被截断。

2.有序广播

       有序广播是同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接收到这条广播消息,当这个广播接收器中的逻辑执行完毕之后,广播才能继续传递被其他广播接收器接收,因此前面的广播接收器可以截断正在传递的广播,这样后面的广播接收器就无法收到这条广播了。

1.发送标准广播

发送广播的代码很简单也很好理解:

Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);

代码只有短短两行,首先通过Intent构建一个intent实例,intent里面传入了一个我们自定义的广播,再通过sendBroadcast()方法将广播发送出去。

2.发送有序广播

发送有序广播跟发送标准广播很相似:

Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
sendOrderBroadcast(intent,null);

可以看到,有序广播和标准广播的唯一区别就是调用的是sendOrderBroadcast()方法将广播发送出去,该方法有两个参数,第一个是一个Intent实例,第二个参数是一个跟权限相关的字符串,一般传入null即可。

小结:通过上面例子我们可以看到,发送广播是通过Intent进行的,将我们需要发送的广播类型传入到Intent实例中,再选择相应的发送方法就可以将自定义的广播发送出去了。可以构建一个广播接收器来接收我们发出的自定义广播,关于广播接收器的构建方法可以查看我的另一篇博客。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值