Android6.0危险权限列表

Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应用权限,Android将权限分为普通权限和危险权限,危险权限需要在使用时让用户手动允许。危险权限一共9组24个权限,表格如下:

权限组名 权限名
CALENDAR READ_CALENDAR,WRITE_CALENDAR
CAMERA CAMERA
CONTACTS READ_CONTACTS,WRITE_CONTACTS,GET_ACCOUNTS
LOCATION ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION
MICROPHONE RECORD_AUDIO
PHONE READ_PHONE_STATE,CALL_PHONE, READ_CALL_LOG,WRITE_CALL_LOG,ADD_VOICEMAIL,USE_SIP,PROCESS_OUTGOING_CALLS
SENSORS BODY_SENSORS
SMS SEND_SMS,RECEIVE_SMS,READ_SMS,RECEIVE_WAP_PUSH,RECEIVE_MMS
STORAGE READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE

 

危险权限解释:

android.permission.READ_CALENDAR允许程序读取用户日历数据

android.permission.WRITE_CALENDAR允许一个程序写入但不读取用户日历数据

 android.permission.CAMERA,允许访问摄像头进行拍照

android.permission.READ_CONTACTS允许程序读取用户联系人数据

android.permission.WRITE_CONTACTS允许程序写入但不读取用户联系人数据

android.permission.GET_ACCOUNTS访问一个帐户列表在Accounts Service中

android.permission.ACCESS_FINE_LOCATION允许一个程序访问精良位置(如GPS)

android.permission.ACCESS_COARSE_LOCATION允许一个程序访问CellID或WiFi热点来获取粗略的位置

android.permission.RECORD_AUDIO允许程序录制音频

android.permission.CALL_PHONE允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认

android.permission.READ_PHONE_STATE 访问电话状态

android.permission.READ_CALL_LOG  查看电话日志

android.permission.WRITE_CALL_LOG写入电话日志

android.permission.ADD_VOICEMAIL  允许应用程序添加系统中的语音邮件

android.permission.USE_SIP  允许程序使用SIP视频服务

android.permission.PROCESS_OUTGOING_CALLS   允许应用程序监视、修改、忽略拨出的电话

android.permission.BODY_SENSORS  允许该应用存取监测您身体状况的传感器所收集的数据,例如您的心率

android.permission.SEND_SMS允许程序发送SMS短信

android.permission.RECEIVE_SMS允许程序监控一个将收到短信息,记录或处理

android.permission.READ_SMS允许程序读取短信息

android.permission.RECEIVE_WAP_PUSH允许程序监控将收到WAP PUSH信息

android.permission.RECEIVE_MMS允许一个程序监控将收到MMS彩信,记录或处理

android.permission.WRITE_EXTERNAL_STORAGE   允许程序写入外部存储,如SD卡上写文件

android.permission.READ_EXTERNAL_STORAGE   访问您设备上的照片、媒体内容和文件

 

想要了解更全权限可以看我之前的文章:

Android各种访问权限Permission详解

一.permission_group与permisson区别、作用

 Android Manifest下有两个内部类, 一个是permission ,还有一个是permission_group。对于Permission, 可能做过Android开发的人应该都知道, 这就是权限。 在这个类中定义了很多的权限,比如网络访问权限、蓝牙设备访问权限、振动器使用权限等等

Android6.0危险权限列表_第1张图片

属性:

android:description

权限的用户可读说明,比标签更长,信息更丰富。该说明可能会显示以向用户说明权限 - 例如,当系统询问用户是否向其他应用授予权限时。

此属性必须设置为对字符串资源的引用;与 label 属性不同,它不能是原始字符串。

android:icon

对表示权限的图标的可绘制资源的引用。

android:label

可向用户显示的权限的名称。

为方便起见,您可以在开发应用时将此标签直接设置为原始字符串。不过,当准备好发布应用时,应将标签设置为对字符串资源的引用,以便可以像界面中的其他字符串一样进行本地化。

android:name

权限的名称。这是将在代码中(例如,在  元素和应用组件的 permission 属性中)用于引用权限的名称。

注意:系统不允许多个软件包声明具有相同名称的权限,除非所有软件包都使用相同的证书进行签名。如果某个软件包声明了一个权限,则系统不允许用户安装具有相同权限名称的其他软件包,除非这些软件包使用与第一个软件包相同的证书进行签名。为了避免命名冲突,我们建议为自定义权限使用反向域式命名,例如 com.example.myapp.ENGAGE_HYPERSPACE

android:permissionGroup

将此权限分配给一个组。此属性的值是该组的名称,必须使用此应用或其他应用中的  元素声明。如果未设置此属性,则此权限不会属于某个组。

android:protectionLevel

说明权限中隐含的潜在风险,并指示系统在确定是否将权限授予请求授权的应用时应遵循的流程。

每个保护级别都包含基本权限类型以及零个或多个标记。例如,"dangerous" 保护级别没有标记。相反,保护级别 "signature|privileged" 是 "signature" 基本权限类型和 "privileged" 标记的组合。

下表列出了所有基本权限类型。如需查看标记列表,请参阅 protectionLevel

Android6.0危险权限列表_第2张图片

可以看到,这边先定义了一个PermissionGroup : android.permission-group.COST_MONEY, 然后又定义了两个Permission : 

android.permission.SEND_SMS  和 android.permission.CALL_PHONE , 需要注意的是,这两个权限中都一个android:permissionGroup属性,这个属性就指定了这个权限所属的PermissionGroup。

而PermissionGroup在定义时,仅仅制定了label和descrip , 就是说明一下这个权限组的作用,没什么其他用处。

permissiongroup,就是permission里面的一个tag。主要作用是用来显示application需要的权限,比如你使用了权限,
那么在android的setting->applications->manage applications->你的应用程序,显示的是需要“Network communication”权限,这个“Network communication”就是permissionGroup的label。
所以说permissiongroup只是一个逻辑分组,作用也只有显示应用程序权限给用户看的。当然需要额外说明的是, 并不是所有的Permission都有PermissionGroup, 有的可能没有分组。 这些没有分组的Permission也会自己指定label, 以便告知用户这个权限的作用。

 

 

 

你可能感兴趣的:(安卓新版本特性,权限,Android6.0,危险权限列表,permission,_group)