【学习笔记】BroadcastReceiver的运用

1、Activity与BroadcastReceiver通讯ide

1)新建一个BroadcastReceiver,在MainActivity里经过sendBroadcast方法发送数据
xml

wKiom1gQVq_An8z3AAAUzJCb3Zw209.png

2)在MyReceiver类中重写onReceive方法,用参数intent接收数据对象

wKioL1gQVvOjv1zLAAAR6PzzKQE783.png

2、BroadcastReceiver注册和注销blog

1)先在MyReceiver类中定义一个ACTION常量
get

wKioL1gQWrOyE7q2AAANaAo-_L8021.png

2)在MainActivity中建立Intent实例,此时就不能用显示的方法建立了,要用隐示的方法经过ACTION的值来实例化it

wKiom1gQXEiD2l3eAAAG_xODWk4001.png

3)在MainActivity中定义一个MyReceiver的对象,初始化为null。在用registerReceiver方法时要确保MyReceiver的对象为空,在用unregisterReceiver方法时确保MyReceiver对象不为空
io

wKiom1gQW8GztY1dAABixTxlcZk394.png


3、BroadcastReceiver优先级ast

当有多个广播接收器的时候,他们的ACTION一致,想设置谁先收到就能够在AndroidManifest.xml文件中的intent-filter中添加priority,数字高的先接收class

wKiom1gQYE-yrMVJAABYDbc9tVo040.png

当优先级高的接收到了想阻止后面的广播接收器接收的话,就须要在相应的接收器里用abortBroadcast方法中止广播,但阻止的话在MainActivity里发送广播的方法就不能用sendBroadcast了,否则会出现异常,要用sendOrderedBroadcast方法方法

sendOrderedBroadcast(i,null);

wKiom1gQYRGjlD7cAAATuSaEVXM682.png

相关文章
相关标签/搜索