android:protectionLevel
对应用使用的权限设置级别,不同的级别会有不同的要求
normal:低风险权限,只要申请了就可以使用(在AndroidManifest.xml中添加uses-permission标签),安装时不需要用户确认;
dangerous:高风险权限,安装时需要用户的确认才可使用;
ignature::只有当申请权限的应用程序的数字签名与声明此权限的应用程序的数字签名相同时(如果是申请系统权限,则需要与系统签名相同),才能将权限授给它;
signatureOrSystem:签名相同,或者申请权限的应用为系统应用(在system image中)。
上述四类权限级别同样可用于自定义权限中。如果开发者需要对自己的应用程序(或部分应用)进行访问控制,则可以通过在AndroidManifest.xml中添加permission标签,将其属性中的protectionLevel设置为上述四类级别中的某一种来实现。
下面以signature为例,创建两个应用(App,App1)只允许具有相同的签名的广播才可以接收;
App应用创建接收广播:
public class TestBroadReceiver extends BroadcastReceiver {
//广播的Action
public static final String ACTION = "test_broad_cast_receiver"