BroadcastReceiver(三)广播消息的优先级与中断
16lz
2021-01-25
广播消息的优先级
若多个receiver 的action相同,则优先级值大的先收到消息,并且可以中止消息的继续发送。
在AndroidManifest.xml中代码如下:
android:priority="3"> com.example.kfk.lbroadcastreceiver.intent.action.LReceiver" /> android:priority="10"> com.example.kfk.lbroadcastreceiver.intent.action.LReceiver" />
广播消息的中断
以sendOrderedBroadcast 发送的消息可以在先收到消息的接收器的调用abortBroadcast中断。发送代码
Intent i2 = new Intent(LReceiver.ACTION);//隐式启动 i2.putExtra("msg","回家睡觉!");// sendBroadcast(i2);//不能被中断 sendOrderedBroadcast(i2,null);//第二个参数是权限字符串,以 sendOrderedBroadcast发送的消息可被先收到的接收器继续中断
中断代码
发public class RReceiver extends BroadcastReceiver { public RReceiver() { } @Override public void onReceive(Context context, Intent intent) { System.out.println("接收器R 收到了消息:"+intent.getStringExtra("msg")); System.out.println("接收器R 为10,L为1和2,所以R可以在收到消息后中断消息的继续发送 ,必需是以 sendOrderedBroadcast发送的消息才可被中断"); abortBroadcast();//接收器R 为10,L为1和2,所以R可以在收到消息后中断消息的继续发送 ,必需是以 sendOrderedBroadcast发送的消息才可被中断 }}
更多相关文章
- Android下自启动的实现
- Android中接收系统广播消息
- android log的两种方法
- Handler与Android进程管理
- Linux/Android启动之Machine-Init函数
- android addIdleHandler 空闲线程 解析
- Android(安卓)4编程入门经典—开发智能手机与平板电脑应用
- Android(安卓)App 内存泄露之Handler
- Android(安卓)API之Telephony.Sms