广播相关汇总
来源:互联网 发布:用c语言输出以下图案 编辑:程序博客网 时间:2024/06/05 06:39
动态的关闭全局广播接收器
调用packageManager的方法来关闭组件,setComponentEnabledSetting(ComponentName componentName, int newState, int flags)。
newState:组件新的状态,可以设置三个值,分别是如下:
不可用状态:COMPONENT_ENABLED_STATE_DISABLED 可用状态:COMPONENT_ENABLED_STATE_ENABLED 默认状态:COMPONENT_ENABLED_STATE_DEFAULT flags:行为标签,值可以是DONT_KILL_APP或者0。例如,当监听到开机广播并启动后,可以关闭这个监听器。
< receiver android:name=".ToggleReceiver">< intent-filter>< action android:name="android.intent.action.BOOT_COMPLETED"/>< /intent-filter>//启动完成后关闭组件final ComponentName receiver = new ComponentName(context,ToggleReceiver.class);final PackageManager pm = context.getPackageManager();count++;if (count > 1) {pm.setComponentEnabledSetting(receiver,PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);
接收器接收广播的顺序
普适原则
同等优先级的动态接收器,先注册的先接收同等优先级的静态接收器,接收广播的顺序与String[] java.io.File.list()顺序一致
ordered广播
假设有如下优先级的5个接收器
1.动态A(优先级=1)
2.动态B(优先级=2)
3.动态C(优先级=2)
4.静态D(优先级=1)
5.静态E(优先级=2)
并且B先于C注册
那么实际接收顺序应为
B C E A D
也就是说,如果静态接收器的优先级高于动态接收器的优先级,那么还是静态接收器先接收到广播(比如接收短信)
非ordered广播
动态接收器高优先级 > 动态接收器低优先级 > 静态接收器高优先级 > 静态接收器低优先级
注意:有些广播,我们无法用静态接收器接收
比如ACTION_SCREEN_ON,当屏幕被点亮的时候系统发送此广播
如果你尝试在manifest中注册receiver来接收,那么会失败。
比如ACTION_SCREEN_ON,当屏幕被点亮的时候系统发送此广播
如果你尝试在manifest中注册receiver来接收,那么会失败。
带权限的广播
Activity,Broadcast Receiver,Content Providers,Service都可以定义权限,以限制访问。例如:
<activity android:name=".MyActivity" android:label="@string/app_name" android:permission="com.paad.DETONATE_DEVICE"> </activity>
sendBroadcast(intent,"com.example.broadcast")//在发送广播的应用manifest里面定义权限<permission android:name="com.example.broadcast" android:protectionLevel="normal"/>//在接收的应用manifest里面申请权限,这样就能收到带权限的广播了。<uses-permission android:name="com.example.broadcast"/>
有一点需要注意:看到有些文章是将权限定义写在接收的应用manifest里,应该也是可以的。
- 广播相关汇总
- 广播相关知识
- Android:BroadcastRecevicer广播类型汇总
- Android Wifi相关广播 -- WIFI_STATE_CHANGED_ACTION
- Android Wifi相关广播 -- NETWORK_STATE_CHANGED_ACTION
- Android网络连接相关广播
- Android网络连接相关广播
- Android 蓝牙相关的广播
- Android 蓝牙相关的广播
- Android:BroadcastReceiver广播注册方式汇总
- 安卓系统常用广播汇总
- 4.2 常用的系统广播汇总
- iReport 相关资料汇总
- 订单相关词汇汇总
- Tuxedo 相关文章汇总
- msdtc相关问题汇总
- ListView相关问题汇总
- 索引相关知识汇总
- (三)机房收费系统软件需求说明书
- struts2常用标签
- adaboost learing
- 男朋友结婚了新娘不是我
- 模板 STL
- 广播相关汇总
- Android覆盖升级以及apk签名
- android学习——GridView
- 绝不重新定义继承而来的缺省参数值
- C# WinForm多线程---- Control.Invoke
- ant打包时遇到java文件非法字符\65279
- test3-13(电子词典)
- Oracle监听出现故障
- 用com组件实现类似远程桌面功能