android,自定义广播,最终广播接收者,防止拦截广播,有序广播,无序广播
16lz
2021-01-26
自定义广播"com.itheima.xxxooo" .
编写的FinalRecevier对象,是最终广播接收者。 即使前边拦截了广播,还是会收到广播。
public void click(View view){Intent intent = new Intent();intent.setAction("com.itheima.xxxooo");//把这个自定义的广播发送出去//sendBroadcast(intent); //发送一条无序的广播事件//如果广播事件是无序发送出去的 所有的广播接受者 都会接受到这个事件//如果广播是有序的发送出去的, 广播接收者会按照优先级 接受到广播事件// 有序广播 特点: 高优先级的广播接受者 可以终止掉 广播事件//sendOrderedBroadcast(intent, null);sendOrderedBroadcast(intent, null, new FinalRecevier(), null, 0, null, null);}
广播接收者
public class FinalRecevier extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("我是final的receiver");}}
public class MyBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("reveriver 1 接收到了广播");Toast.makeText(context, "检查到了 自定义的广播事件", 1).show();}}
public class MyBroadcastReceiver2 extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("reveriver 2 接收到了广播");Toast.makeText(context, "2 检查到了 自定义的广播事件", 1).show();abortBroadcast();}}
public class MyBroadcastReceiver3 extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {System.out.println("reveriver 3 接收到了广播");Toast.makeText(context, "3 检查到了 自定义的广播事件", 1).show();}}
添加广播接收者,并设置优先级。接受自定义广播
更多相关文章
- Android(安卓)touch 事件的处理流程
- Android(安卓)退出终止APP的方法总结
- Android(安卓)sendevent/getevent 用法
- Android(安卓)BroadcastReceiver
- android PopupWindow模拟Windows开始菜单显示消失效果
- View的事件体系《Android开发艺术探索》笔记
- [Flutter]监听Android返回键事件
- Cordova 3.x 源码分析(7) -- CordovaLib概要
- 关于JAVA回调函数和Android事件响应