Android M runtime permission介绍

Runtimepermission介绍:

-M版本,若app支持新的permission模式,用户在安装或升级app时就不会获取到任何runtime权限

-App需要在使用permission前请求权限

-用户可以在“设置->应用”菜单选择app然后修改app的权限设置

-仅对SDK大于等于23的app生效(M版本后,GoogleXTS测试项要求appSDK需大于等于23,否则fail)

-不是所有的permission都是runtimepermissions

-用protectionlevel来区分permission

-只有dangerouspermissions是runtimepermissions

-Normal和signaturepermissions都不是runtimepermissions

-用户只能改变runtimepermissions的配置

runtimepermissions包含9个权限组,24个权限列表

Mapk开发注意事项:

1.声明权限

-App需要在manifest中申请需要的所有权限

2.权限组PermissionGroups

-基于不同的功能,permission会被分为不同的groups

3.安装时限制获取permission

-系统会获取PROTECTIONNORMAL的所有权限

4.总是检查权限

-app需要执行某个需要权限的操作时,应该先检查是否已经拥有此权限

-若没有权限,请先requestpermission

5.没有申请到权限时,做好容错处理

6.权限都是可以被撤销的

-用户可以在任何时刻撤销app的权限

-若用户关闭app的某个权限,app不会被通知

如何开发app

1.为了让app更好的支持androidM,请先在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

相关推荐