Android(安卓)BroadcastReceiver小结
16lz
2021-01-25
该组件分为2种
一种是无顺序异步的 只要一发广告 所有能接收到服务的应用都能同时收到。
发送:
sendBroadcast(intent);
接收
public class MyRecieve extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //TODO sth. }}
一种是有序的 通过设置priority的优先级来排序 -1000~1000 利用abortBroadcast()结束传播
发送:
sendOrderedBroadcast(intent, null);
多个广播接收者之间传值:
Bundle bundle=new Bundle(); bundle.putString("a", "fdsfs"); setResultExtras(bundle);//取值getResultExtras(false).getString("a")
配置:
<receiver android:name=".MySecBroad"> <!--android:priority优先级 --> <intent-filter android:priority="20"> <action android:name="com.mytest.action_MY_BROADCAST"/> </intent-filter> </receiver>
手动注册BroadCastReceiver:
MySecBroad receiver=new MySecbroad();IntentFilter filter=new IntentFilter();filter.addAction(TEST_ACTION);registerReceiver(receiver,filter);
更多相关文章
- RK3399 实现内外网共存补丁,并且wifi先连接是以太网连接失败
- android 为 ListView Item中的组件添加事件 以及更新数据
- android Service理解
- Intent简介及属性
- Android(安卓)- Intent与IntentFilter
- Android获取应用信息判断网络连接返回桌面及卸载apk结束进程等的
- Android组件Activity中的View绘画和动画(Animation)是否会重画?
- Android(安卓)HorizontalScrollView和ScrollView 水平滚动 垂直
- 使用otta bus进行android组件通信