[android] 自定义广播事件

上一节的短信拦截在4.0以上系统中无效,可以使用这种办法实现,定义一个activity,清单文件中指定主题为透明,在onCreate()方法里面直接调用finsh()方法,关掉,这样可以就可以实现了

应用场景:比如车载电脑,里面有很多应用,有些应用需要发射信号给某一个广播接收者

新建一个广播接收者,清单文件中进行配置,监听的动作<action name=”com.tsh.aabb”/>,这个动作名称就是我们自定义广播要发射的动作

新建一个应用,来发射信号

获取Intent对象,通过new出来

调用Intent对象的setAction()方法,设置发射的信号,参数:上面接收者所监听的动作

调用sendBroadcast(intent)方法,发送广播,参数:Intent对象

还有一个apisendOrderedBroadcast(intent,receiverPermission),发送一条有序的广播事件,上面的是发送一条无序的广播事件,无序的广播会被所有的广播接收者收到,有序的广播会按照优先级接收意图过滤器的属性android:prority=”1000”,参数:Intent对象,所需权限

并且高优先级的可以终止掉广播事件abortBroadcast()

还有一个重载函数,里面有个参数,设置finalReceiver,保证这个接收者能接收到,不受终止事件的影响

原文地址:https://www.cnblogs.com/taoshihan/p/5330876.html