Android之广播机制—有序广播
来源:互联网 发布:淘宝活动时间 编辑:程序博客网 时间:2024/05/02 04:32
之前所讲的广播机制全部都是标准广播,即所有能接收的接收器同时收到广播并做出响应。
还有一种广播叫做有序广播,即接收器根据优先级依次有序的接收广播,而不是同时接收。
同时,优先级高的接收器还能截断广播,让优先级低的接收器无法接收。
这是按钮监听器内发送广播的逻辑代码,可以看到,发送有序广播的方法不再是sendBroadcast(),
而是sendOrderedBroadcast()方法。接收的参数也变成了两个,一个是intent,第二个参数与权限相关。
这里传入的是null。这样发送的广播就是有序的了,同时还要设定接收器的优先级。
这是在Manifest注册的广播接收器,可以看到,我们通过android:priority="100"属性给该接收器设定了
优先级为100.这样就能保证该接收器会先于其他接收器接收广播。
以上是优先级为100的接收器的代码,在onReceive()方法中调用abortBroadcast();
就表示将该广播截断,其他的接收器就无法再接收到此广播了。
还有一种广播叫做有序广播,即接收器根据优先级依次有序的接收广播,而不是同时接收。
同时,优先级高的接收器还能截断广播,让优先级低的接收器无法接收。
示例代码:
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent("com.example.tangyi.receiver3.MY_BROADCAST"); sendOrderedBroadcast(intent,null); } });
这是按钮监听器内发送广播的逻辑代码,可以看到,发送有序广播的方法不再是sendBroadcast(),
而是sendOrderedBroadcast()方法。接收的参数也变成了两个,一个是intent,第二个参数与权限相关。
这里传入的是null。这样发送的广播就是有序的了,同时还要设定接收器的优先级。
<receiver android:name=".MyBroadcastReceiver"> <intent-filter android:priority="100"> <action android:name="com.example.tangyi.receiver3.MY_BROADCAST"/> </intent-filter> </receiver>
这是在Manifest注册的广播接收器,可以看到,我们通过android:priority="100"属性给该接收器设定了
优先级为100.这样就能保证该接收器会先于其他接收器接收广播。
public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context,Intent intent){ Toast.makeText(context,"这是标准广播接收器",Toast.LENGTH_SHORT).show(); abortBroadcast(); }}
以上是优先级为100的接收器的代码,在onReceive()方法中调用abortBroadcast();
就表示将该广播截断,其他的接收器就无法再接收到此广播了。
0 0
- Android之广播机制—有序广播
- Android之有序广播
- Android之广播机制—自定义广播
- Android之广播机制—本地广播
- android案例之有序广播
- android之自定义有序广播
- Android之广播机制
- 广播接受者之有序广播
- 广播接收者之有序广播
- android广播,有序广播介绍
- 43.android广播-有序广播
- Android有序广播(系统有序广播SMS)
- android之旅16 自定义广播与无序有序广播
- Android开发之发送有序广播+拦截广播
- Android四大组件——BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播
- Android四大组件——BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播
- Android四大组件——BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播
- Android四大组件——BroadcastReceiver普通广播、有序广播、拦截广播、本地广播、Sticky广播、系统广播
- 第十章·优先级队列
- 提交任务的时候获取切片split信息的流程
- ul li宽度超出div宽度点击左右箭头移动
- Android之广播机制—动态注册
- Android之广播机制—自定义广播
- Android之广播机制—有序广播
- Android之广播机制—本地广播
- C++ transfrom的使用
- Hbase学习二
- android学习——网络访问HttpURLConnection
- Vijos-P1062-迎春舞会之交谊舞
- 实例分析JavaScript中的事件委托和事件绑定
- 数据分布不均衡导致性能问题
- JavaScript 移动和触摸框架