Android之有序广播
16lz
2021-01-23
布局代码
<?xml version="1.0" encoding="utf-8"?>
代码如下:
public class MyReceiver01 extends BroadcastReceiver { public MyReceiver01() { } @Override public void onReceive(Context context, Intent intent) { Log.i("MyReceiver01","自定义广播接收者1,接收到了广播"); } }
广播 01 ,02,03与上类同设置优先级代码如下
修改广播3代码:
public class MyReceiver03 extends BroadcastReceiver { public MyReceiver03() { } @Override public void onReceive(Context context, Intent intent) { Log.i("MyReceiver03","自定义广播接收者3,接收到了广播"); abortBroadcast(); Log.i("MyReceiver03","自定义广播接收者3,终结广播"); } }
修改优先级代码
实验结果图:
有序广播,即从优先级别最高的广播接收器开始接收,接收完了如果没有丢弃,就下传给下一个次高优先级别的广播接收器进行处理,依次类推,直到最后。如果多个应用程序设置的优先级别相同,则谁先注册的广播,谁就可以优先接收到广播。这里接收短信的广播是有序广播,因此可以设置你自己的广播接收器的级别高于系统原来的级别,就可以拦截短信,并且不存收件箱,也不会有来信提示音。里面的android:priority="100"就是设定广播接收器的级别,这个值从1000~-1000,数值越大,优先级别就越高。
实现方法是:
更多相关文章
- 安卓开发10:常用控件-常用表单级别控件
- Android 的权限级别小记
- Android 进程级别 和 oom_adj对应关系
- Android应用程序注册广播接收器(registerReceiver)的过程分析
- Android 各 api 级别与ndk 原生 api对照表
- Android——Broadcast Receiver(广播接收者)