Android Broadcast 和 BroadcastReceiver的权限限制
来源:互联网 发布:华为交换机端口acl 编辑:程序博客网 时间:2024/05/17 23:19
在Android应用开发中,有时会遇到一下两种情况,
1. 有一些敏感的广播并不想让第三方的应用收到 ;
2. 是想要限制自己的Receiver接收某广播来源,避免被恶意的同样的ACTION的广播所干扰。
在这些场景下就需要用到广播的权限限制。
第一种场景: 谁有权收我的广播?
在这种情况下,可以在自己应用发广播时添加参数声明Receiver所需的权限。
首先,在Androidmanifest.xml中定义新的权限RECV_XXX,例如:
- <permission android:name = "com.android.permission.RECV_XXX"/>
然后,在Sender app发送广播时将此权限作为参数传入,如下:
- sendBroadcast("com.android.XXX_ACTION", "com.android.permission.RECV_XXX");
这样做之后就使得只有具有permission权限的Receiver才能接收此广播要接收该广播,在Receiver应用的AndroidManifest.xml中要添加对应的RECV_XXX权限。
例如:
- <uses-permission android:name="com.android.permission.RECV_XXX"></uses-permission>
第二种场景: 谁有权给我发广播?
在这种情况下,需要在Receiver app的<receiver> tag中声明一下Sender app应该具有的权限。
首先同上,在AndroidManifest.xml中定义新的权限SEND_XXX,例如:
- <permission android:name="com.android.SEND_XXX"/>
然后,在Receiver app的Androidmanifest.xml中的<receiver>tag里添加权限SEND_XXX的声明,如下:
- <receiver android:name=".XXXReceiver"
- android:permission="com.android.permission.SEND_XXX">
- <intent-filter>
- <action android:name="com.android.XXX_ACTION" />
- </intent-filter>
- </receiver>
这样一来,该Receiver便只能接收来自具有该send_permission权限的应用发出的广播。
要发送这种广播,需要在Sender app的AndroidManifest.xml中也声明使用该权限即可,如下:
- <uses-permission android:name="com.android.permission.SEND_XXX"></uses-permission>
来源Android SDK开发文档,自己按照理解整理而成,如有错误,欢迎指正~
转自:http://blog.csdn.net/javensun/article/details/7334230
0 0
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限限制
- Android Broadcast 和 BroadcastReceiver的权限机制
- Android Broadcast 和 BroadcastReceiver的权限机制
- Android Broadcast 和 BroadcastReceiver的自定义权限使用
- 关于android中broadcast和BroadcastReceiver浅谈
- Broadcast和BroadcastReceiver的使用和介绍
- android:Broadcast&BroadcastReceiver
- [android]Broadcast与BroadcastReceiver
- Android Broadcast and BroadcastReceiver
- Broadcast 和 BroadcastReceiver
- Broadcast和BroadCastReceiver
- AMS-Broadcast和BroadcastReceiver
- Android之Broadcast, BroadcastReceiver(广播)
- Android之Broadcast, BroadcastReceiver(广播)
- matlab 程序分析
- 内存子系统1_分配接口
- JSP注释及三种scriptlet的用法
- Tomcat在处理GET和POST请求时产生的乱码问题
- UVa:10047 The Monocycle
- Android Broadcast 和 BroadcastReceiver的权限限制
- 年薪15万的80后小本科:6分钟让你少走6年职场弯路
- 引用(Reference)与指针(Pointer)
- 使用Eclipse开发Android时整个工程或第三方jar包的正确使用
- sql游标使用
- Boost学习之正则表达式--regex
- 几个新学知识点
- Android 导入项目 项目中文字乱码问题
- 通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(四)