返回
返回 我的 北京
首页 分享 收藏 预约报名 拨打电话

java培训学校Android开发必知:6.0权限,官方分析

2018-01-10 15:07:08 0
如遇无效、虚假、诈骗课程,请立即举报
为了您的资金安全,请见面交易,切勿提前支付任何费用
举报
课程详情

【威哥说】去年,Google升级6.0后,很重要的一点是权限的改变,到现在很多总结分析权限的文章,但是或者不太详细,或者有疏漏,下面我来给大家来总结下6.0权限的问题。

1.这个新的运行时权限仅当我们设置targetSdkVersion 23(这意味着你已经在23上测试通过了)才起作用,当然还要是M系统的手机。app在6.0之前的设备依然使用旧的权限系统。

如果app的targetSdkVersion 低于 23,那将被认为app没有用23新权限测试过,那将被继续使用旧有规则:用户在安装的时候不得不接受所有权限,安装后app就有了那些权限咯!然后app像以前一样奔跑!注意,此时用户依然可以取消已经同意的授权!用户取消授权时,android 6.0系统会警告,但这不妨碍用户取消授权。

问题又来了,这时候你的app崩溃吗?

善意的主把这事也告诉了android小组,当我们在targetSdkVersion 低于23的app调用一个需要权限的函数时,这个权限如果被用户取消授权了的话,不抛出异常。但是他将啥都不干,结果导致函数返回值是null或者0.

2.代码没有成功改为支持较新运行时权限的app,不要设置targetSdkVersion 23 发布,否则你就有麻烦了。只有当你测试过了,再改为targetSdkVersion 23 。

警告:现在你在android studio新建项目,targetSdkVersion 会自动设置为 23。如果你还没支持新运行时权限,我建议你首先把targetSdkVersion 降级到22

3.权限组:

同一组的任何一个权限被授权了,其他权限也自动被授权。例如,一旦WRITE_CONTACTS被授权了,app也有READ_CONTACTS和GET_ACCOUNTS了。

权限分组官方表格如下:

?(代码原因,字数有限,剩余部分请看图片或磨砺营IT教育官网,威哥公众号【mjw-java】)


    联系我时,请说是在123培训网看到的。
相关课程