定义signature或者signatureOrSystem级别的权限

本文介绍了Android权限管理中的normal、dangerous、signature和signatureOrSystem四个级别,重点解析了signature和signatureOrSystem的使用场景。通过实例展示了如何设置自定义权限,确保只有签名相同或系统应用才能访问。并探讨了在实际应用中可能出现的广播接收延迟问题以及签名不同应用之间的权限限制。
摘要由CSDN通过智能技术生成
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"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值