`
想不尽的念
  • 浏览: 23315 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android M runtime permission介绍

阅读更多
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


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics