Android 的权限级别小记

这篇博客介绍了Android系统的四种权限级别:normal、dangerous、signature和signatureOrSystem。normal权限在安装时无需用户确认,而dangerous权限涉及用户隐私,需要用户同意。signature权限仅允许签名相同的app间交互,signatureOrSystem权限则还需应用为系统应用。文中通过实例演示了不同权限级别的应用交互情况。
摘要由CSDN通过智能技术生成

Android 的权限级别总共有4种

android:protectionLevel=[“normal” | “dangerous” | “signature” | “signatureOrSystem”]

  • normal: 低风险的权限,只要申请了就可以使用,在AndroidManifest.xml 中添加uses-permission
    标签,安装时不需要用户确认;正常的权限涵盖了应用需要访问其沙盒外部数据或者资源,但对用户的隐私或者其他应用操作风险很小。

  • dangerous: 高风险权限,安装时需要用户确认才可以使用。危险的权限常常设计用户隐私的信息,数据或者资源,或者对用户存储的数据或者其他应用的操作产生影响。

  • signature: 只有当申请权限的应用程序 (Android app) 的数字签名与 声明此权限的应用程序的数字签名相同时(如果是申请系统权限,则需要与系统签名相同),才能将权限授予它。

这句话是什么意思呢,关于signature 的权限,举一个应用场景,其实两个app
之间是可以互相调用的,只要这两个app 是同一个开发者的签名。

  • signatureOrSystem:签名相同,或者申请权限的应用为系统应用(在system image中)。

下面用 http://www.voidcn.com/article/p-mxagzhgo-en.html 这篇文章里面的例子来说明

权限是在signature 的情况下, 创建两个应用(App,App1)只允许具有相同的签名的广播才可以接收;

App应用创建接收广播:


public class TestBroadReceiver extends BroadcastReceiver {
   
    //广播的Action
    public static final String ACTION = "test_broad_cast_receiver";
    //传递值的Key
    public static final String KEY = "key";

    @Override
    public void onReceive(Context context, Intent intent) {
   
        String data = "";
        if (inten
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值