Permissions权限

[TOC]
  Android将所有的权限归成了两类:一类是普通权限,一类是危险权限。普通权限指的是那些不会直接威胁到用户的安全和隐私的权限,对于这部分权限的申请,系统会自动帮我们进行授权,而不需要用户再去手动操作了。危险权限则表示那些可能会触及用户隐私,或者对设备安全性造成影响的权限,如获取设备联系人信息等,对于这部分权限申请,必须要由用户手动点击授权才可以,否则程序就无法使用相应的功能。

权限级别

权限有三种保护级别会影响第三方应用程序:正常、签名、危险权限;

  • 正常权限:普通权限涵盖应用程序需要访问应用程序沙箱外部数据或资源的区域,但用户隐私或其他应用操作的风险很小。如果应用程序在其清单中声明它需要的正常权限,系统会自动将这些权限授予你的应用,系统不会提示用户授予正常权限,用户也无法撤销这些权限;
  • 签名权限:系统会在安装时授予这些应用程序权限,但仅限于尝试使用权限的应用程序使用与定义权限的应用程序相同的证书进行签名时;
  • 危险权限:危险权限涵盖应用程序需要涉及用户私人信息的数据或资源的区域,或者可能会影响用户存储的数据或其他应用程序的操作。如果应用声明它需要的危险权限,则用户必须明确授予该应用的权限。在用户批准该权限之前,你的应用无法提供依赖该权限的功能;

危险权限

权限组名 权限名
CALENDAR READ_CALENDRA
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

  表格中的每个危险权限都属于一个权限组,我们在进行运行时权限处理时使用的是权限名,但是用户一旦同意授权了,那么该权限所对应的权限组中所有的其他权限也会同时被授权。

在程序运行时申请权限

权限分组

权限申请

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
---------------last line for now-----------------