(6.0及以上)运行时获取危险权限(Dangerous Permission)

关于如何在Android 6.0及以上的版本中动态获取危险权限
摘要由CSDN通过智能技术生成

普通权限(Normal Permission)与危险权限(Dangerous Permission)

Android系统中,权限被明确分成了普通权限(Normal Permission)与危险权限(Dangerous Permission)两种。Android应用的许多功能都需要获得相应的权限才能生效(读取联系人信息、调用手机摄像头等)。在Android 6.0之前,所有的权限只需要在Manifest文件中使用<uses-permission>元素声明即可,普通权限直接会被系统批准,而危险权限会在安装时向用户请求。如果请求得不到允许,应用的安装过程将被撤销。而自Android 6.0始,普通权限可以使用传统的方法静态获取,而危险权限必须在应用运行时动态获取。
区别普通权限与危险权限的关键因素是看该权限是否会侵犯到用户的隐私。像设置系统时区(time zone)这样的权限基本不会涉及到用户的隐私,因此它属于普通权限;而读取联系人信息这样的权限明显会触及到用户的私密数据,因此它属于危险权限。

危险权限及权限组(Permission Group)

为了便于管理,Android系统将功能相似的权限,如 READ_EXTERNAL_STORAGE 与 WRITE_EXTERNAL_STORAGE等编成了数个权限组(Permission Group)。同一个组内的所有权限会被同时授予。具体的情况有以下两种:

  • 如果应用申请一个已在Manifest文件中声明的危险权限,而此时应用还未获得该危险权限所属的权限组中的任何一个权限,那么系统会弹出一个对话框,要求用户同意授予该权限组内的权限(不会指明是组内哪一个权限)。
  • 如果应用申请一个已在Manifest文件中声明的危险权限,而此时应用已经获得了该危险权限所属的权限组中的任意一个权限,那么系统会立即批准该请求,而不会和用户发生任何交互。

危险权限组列表如下:
(1)CALENDAR:

  • READ_CALENDAR
  • WRITE_CALENDAR

(2)CAMERA:

  • CAMERA

(3)CONTACTS:

  • READ_C
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值