关于BroadcastReceiver的学习和注意事项
2016-10-11 20:35
393 查看
1.[b]BroadcastReceiver的注册方式:[/b]
a.静态注册:
即在AndroidManifest.xml文件中声明;
b.动态注册:
a.显式启动:
Intent mIntent = new Intent(this,MyReceiver.class);
b.隐式启动:
Intent mIntent = new Intent(MyReceiver.ACTION);
3.BroadcastReceiver的优先级:
a.如果拥有同一个<intent-filter>的并且android:priority属性没有设置任何值得两个BroadcastReceiver优先级根据其在AndroidManifest.xml文件注册的顺序为主
如:
a.静态注册:
即在AndroidManifest.xml文件中声明;
b.动态注册:
myReceiver = new MyReceiver();
registerReceiver(myReceiver, new IntentFilter(MyReceiver.ACTION));
同时需要注销:
unregisterReceiver(myReceiver);
2.BroadcastReceiver的启动方式:
a.显式启动:
Intent mIntent = new Intent(this,MyReceiver.class);
b.隐式启动:
Intent mIntent = new Intent(MyReceiver.ACTION);
3.BroadcastReceiver的优先级:
a.如果拥有同一个<intent-filter>的并且android:priority属性没有设置任何值得两个BroadcastReceiver优先级根据其在AndroidManifest.xml文件注册的顺序为主
如:
<intent-filter> <action android:name="com.example.dell.broadreciver.intent.action.MyReceiver"/> </intent-filter>
b.同时也可以根据 android:priority="12"来设定优先级其中数字越大表示运行的优先级越高
如:
<intent-filter android:priority="12">
<action android:name="com.example.dell.broadreciver.intent.action.MyReceiver"/> </intent-filter>
PS:如果不想让其后面的BroadcastReceiver执行可以在他的onReceive方法中执行abortBroadcast()方法;但是发送广播的方式是:sendOrderedBroadcast(mIntent,null);
相关文章推荐
- Android学习Broadcast Receiver(广播接收者) 注意事项
- Android 第七天重置版_BroadCastReceiver_注意事项
- 关于Android BroadcastReceiver一点点需要注意的地方
- 关于Android BroadcastReceiver一点点需要注意的地方
- 关于Runtime Permissions的学习以及使用的一些注意事项
- 关于JDBC学习过程中的注意事项(分享自己犯过的错误,写给初学JDBC的小伙伴的八条建议)
- 【学习笔记】汇编:关于DEBUG工具使用的时候的一个注意事项
- BroadCastReceiver交互注意事项
- ASP.NET学习笔记[2] - 关于使用Master.Page的几点注意事项
- Android BroadcastReceiver注意事项
- Android开发学习之路 -- 关于BroadcastReceiver
- 关于初学者学习Java的一些注意事项
- broadcast receiver 作为内部类注意事项
- 关于学习MSDN“创建和导出 RSA 密钥容器”的注意事项
- 关于BroadcastReceiver的学习与使用
- 关于SQL Server的若干注意事项
- 关于个人承接项目的注意事项
- 关于Loaderunner安装和卸载需要注意的事项
- 关于使用存储过程的一些好处以及注意事项
- 关于mysql4.0.X升级到mysql5.0的注意事项