![](https://i-blog.csdnimg.cn/blog_migrate/27a874bedc9e8d04de9d6a6469f51f6a.jpeg)
Broadcast安全
![](https://i-blog.csdnimg.cn/blog_migrate/1685e927e7e6efa7ee169e70c87ff710.jpeg)
在发送广播的时候,经常需要对广播的去向和广播的来源做一些权限控制,主要包括如下三种case:
1,制定具体的receiver接收广播
2,限制自己的Recever接收某个广播
3,只能系统app才能发送的广播protected Broadcast
一、 指定具体的receiver接收我的广播
Sender
com.android.permission.rec_xxx就是receiver所需要的权限
sendBroadcast("XXX Action",com.android.permission.rec_xxx);
Receiver
具有com.android.permission.rec_xxx权限的receiver才能接收此广播,在receiver的androidmanifest.xml中添加com.android.permission.rec_xxx权限。
<uses-permission android:name="com.android.permission.rec_xxx"></uses-permission>
Receiver
需要在receiver app的receiver的tag中声明一个sender app应该具有的权限,添加com.android.permission.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>
Sender
要发送这种广播,需要在sender app的androidmanifent.xml中声明使用该权限。
<uses-permission android:name="com.android.permission.send_xxx"></uses-permission>
这种广播只能有系统进程或者系统app发送。
这种广播定义的方式如下
一。系统app
app的androidmanifest.xml中定义
<protected-broadcast android:name="com.android.xxx"/>
二。系统进程
在framework/base/res/androidmanifest.xml中定义
<protected-broadcast android:name="com.android.xxx"/>
【更多文章列表,尽在手机安全之家】
【1】Android Security框架
【2】FDE Introduction
【3】FDE之要求密码开机流程
【4】FDE之默认密码开机流程
【5】预置apk签名
【6】FDE之加密流程
【7】Adb Shell 安全
【8】Broadcast安全
----------------------------------------------------------------------------------------------------------------------------------------------
请关注手机安全之家,了解更多Android Security知识。
关注方法:打开手机微信->通讯录->右上角"添加"->"搜号码"->输入"手机安全之家"->搜索。
或者而通过扫描下方二维码也可以添加