Android权限概述

Android的权限机制是用于保护用户的隐式信息。APP访问敏感用户数据(如联系人和SMS)或某些系统功能(如Camera和Internet)时,必须请求用户授予对应的权限。根据被访问的特性,系统会自动授予权限或请求用户授予权限。本文将对Android权限是怎样工作的进行概述,包括:权限请求提示框是怎样展示给用户的、“安装时请求权限”与“运行时请求权限”的区别、权限是如何执行的、权限的类型及分组。

权限授予

APP需要在Manifest文件中用<uses-permission>显示申请所需的权限。例如,APP需要发送SMS,那么需要在manifest中做如下申请:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.snazzyapp">

    **<uses-permission android:name="android.permission.SEND_SMS"/>**

    <application ...>
        ...
    </application>
</manifest>

对于APP在Manifest中申请的普通权限(不会给用户隐私和设备操作带来风险的权限),系统会自动授予权限给APP;对于APP在Manifest中申请的危险权限(会给用户隐私和设备操作带来风险的权限),如SEND_SMS权限,用户必须显式授予权限给APP。关于普通权限和危险权限的详细信息,请见“安全等级”。

请求授予危险权限

只有危险权限才需要用户的授予。Android系统请求用户授予危险权限的方法与用户设备上运行的Android版本和APP的Target Version有关。

运行时请求权限(Android 6.0及以上)

如果Android系统版本为Android 6.0(API 23)及以上,APP的targetSdkVersion是23及以上,那么在安装APP时不提示用户授予权限,而在APP运行时提示用户授予危险权限。系统会向用户展示一个提示框(如图1左边所示),提示用户APP当前正在请求哪个权限。对话框包括一个Deny按钮和一个Allow按钮。

如果用户不允许授予此权限,那么APP下次请求这个权限时,弹出的提示框上会多一个单选框。如果用户勾选提示框中的“Never ask again”,那么APP下次再请求同一个权限时,系统不会再提示用户授予权限。(如图1右边所示)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值