Android M runtime permission介绍

本文详细介绍了Android M版本中引入的运行时权限(Runtime Permissions)机制,包括权限组、安装时限制、检查权限、请求权限、容错处理及用户权限撤销等内容。通过设置compileSdkVersion和targetSdkVersion为23,以及正确使用Context.checkSelfPermission()和Activity.requestPermission()等API,开发者可以确保其应用在使用敏感权限时获得用户明确同意。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Runtime permission介绍:

-M版本,若app支持新的permission模式,用户在安装或升级app时就不会获取到任何runtime权限
-App需要在使用permission前请求权限
-用户可以在“设置->应用”菜单选择app然后修改app的权限设置
-仅对SDK大于等于23的app生效(M版本后,Google XTS测试项要求app SDK需大于等于23,否则fail)
-不是所有的permission都是runtime permissions
-用protection level来区分permission
-只有dangerous permissions 是runtime permissions
-Normal 和signature permissions都不是 runtime permissions
-用户只能改变runtime permissions的配置

runtime permissions包含9个权限组,24个权限列表

M apk开发注意事项:
1.声明权限
-App需要在manifest中申请需要的所有权限
2.权限组Permission Groups
-基于不同的功能,permission会被分为不同的groups
3.安装时限制获取permission
-系统会获取PROTECTION NORMAL的所有权限
4.总是检查权限
-app需要执行某个需要权限的操作时,应该先检查是否已经拥有此权限
-若没有权限,请先request permission
5.没有申请到权限时,做好容错处理
6.权限都是可以被撤销的
-用户可以在任何时刻撤销app的权限
-若用户关闭app的某个权限,app不会被通知
如何开发app
1.为了让app更好的支持android M,请先在manifest中设置
-compileSdkVersion和targetSdkVersion为23
-申请需要使用的所有权限
2.使用某个权限操作前先检查是否拥有权限
-Context.checkSelfPermission(permission_name)
3.若检查无权限,则需要申请
-Activity.requestPermission(String[],int)
4.用户响应权限请求后,系统会调用app的Activity.onRequestPermissionsresult(int,String[],int[]).app需要重写此方法

开发规则:
1.仅仅请求app需要的permission
2.不要请求不需要的permission
3.解锁为何需要permission
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值