码迷,mamicode.com
首页 > 移动开发 > 详细

安卓6.0动态授权

时间:2017-11-17 11:55:36      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:安卓 动态授权


在Android 5.1 (API level 22) 及其以下版本上,系统在APP安装时要求用户授权所有Manifest申请的权限,否则APP不能安装,并且安装后权限也撤销不了。

http://7jpolu.com1.z0.glb.clouddn.com/pre-marshmallow-permission.jpg 


而在Android 6.0(Marshmallow_棉花糖)及其以上版本上,系统在APP安装时授权所有普通权限,危险权限需要在应用运行使用时(比如当用户按下”相机拍照“按钮后)动态让用户授权。

http://7jpolu.com1.z0.glb.clouddn.com/marshmallow-permission.png 

http://ww1.sinaimg.cn/large/6a195423jw1ezwtttfjp1j20u01hc0vr.jpg 

http://ww2.sinaimg.cn/large/6a195423jw1ezxulzbeu2j20iq0ggt9y.jpg 


6.0系统就对权限进行了分类,一般为下述几类:

①正常(Normal Protection)权限

  正常权限对用户隐私没有较大影响或者不会打来安全问题;安装后就赋予这些权限,不需要显示提醒用户,用户也不能取消这些权限。

  正常权限主要是关于网络、蓝牙、时区、快捷方式等方面,只要在Manifest.xml指定了这些权限,就会默认被授予,并且不能撤销。


②危险(Dangerous)权限

  危险权限是运行时权限主要处理的对象,这些权限可能引起隐私问题或者影响其他程序运行。

  Android6.0+需要在manifest中申请,并且通过发送Intent让用户在设置界面进行勾选。

  如果将targetSdkVersion设置低于23,那么在6.0的系统上不会为这个应用开启运行时权限机制,即按照以前的方式处理。


 一个组内某个权限被允许,该组的其他权限也是被允许的。举一个例子,如果你的应用授权了读取联系人的权限,那么你的应用也是被赋予了写入联系人的权限,因为读取联系人和写入联系人这两个权限都属于联系人权限分组。


③特殊(Particular)权限

  特殊权限就是一些特别敏感的权限,一般不会应用申请,主要由两个

  SYSTEM_ALERT_WINDOW,设置悬浮窗,进行一些黑科技

  WRITE_SETTINGS 修改系统设置,如更改手机来电铃声


④其他权限(一般很少用到)


安卓6.0动态授权

标签:安卓 动态授权

原文地址:http://playkid.blog.51cto.com/10040188/1982710

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!