1. 前言

        Android 中应用权限有助于保护对以下数据和操作的访问/执行权限,从而为保护用户隐私提供支持:

1. 受限数据,例如系统状态和用户的联系信息   

2. 受限操作,例如连接到已配对的设备并录制音频

本篇文章主要介绍Android中所有的权限定义和说明,从基本概念入手一步一步解析权限用法

2. 权限类型

Android 将权限分为不同的类型,包括安装时权限运行时权限特殊权限。每种权限类型都指明了当系统授予应用该权限后,应用可以访问的受限数据范围以及应用可以执行的受限操作范围。

2.1 安装时权限

        安装时权限授予应用对受限数据的受限访问权限,或允许应用执行对系统或其他应用只有最低影响的受限操作。如果您在应用中声明了安装时权限,应用商店会在用户查看应用详情页面时向其显示安装时权限通知,如图 2 所示。系统会在用户安装您的应用时自动向您的应用授予权限。

11 android 授予允许管理所有文件 android权限限制_android

 Android 提供多个安装时权限子类型,包括一般权限(normal)  +   签名权限 (signature)。

那什么是一般权限,签名权限呢?  我们先来看定义

<permission>的权限级别 android:protectionLevel

来自官网的文档 Android 开发者  |  Android Developers


含义

normal

默认值。具有较低风险的权限,此类权限允许请求授权的应用访问隔离的应用级功能,对其他应用、系统或用户的风险非常小。 系统会自动向在安装时请求授权的应用授予此类权限,无需征得用户的明确许可(但用户始终可以选择在安装之前查看这些权限)。

dangerous

具有较高风险的权限,此类权限允许请求授权的应用访问用户私人数据或获取可对用户造成不利影响的设备控制权。由于此类权限会带来潜在风险,因此系统可能不会自动向请求授权的应用授予此类权限。例如,应用请求的任何危险权限都可能会向用户显示并且获得确认才会继续执行操作,或者系统会采取一些其他方法来避免用户自动允许使用此类功能。

signature

只有在请求授权的应用使用与声明权限的应用相同的证书进行签名时系统才会授予的权限。如果证书匹配,则系统会在不通知用户或征得用户明确许可的情况下自动授予权限。

signatureOrSystem

"signature|privileged" 的旧同义词。在 API 级别 23 中已弃用。

系统仅向位于 Android 系统映像的专用文件夹中的应用  或  使用与声明权限的应用相同的证书进行签名的应用授予的权限。不要使用此选项,因为 signature 保护级别应足以满足大多数需求,无论应用安装在何处,该保护级别都能正常发挥作用。“signatureOrSystem”权限适用于以下特殊情况:多个供应商将应用内置到一个系统映像中,并且需要明确共享特定功能,因为这些功能是一起构建的。

install权限:安装时权限,是指在安装app的时候,赋予app的权限。normalsignature级别的权限都是安装时权限不会给用户提示界面,系统自动决定权限的赋予或拒绝。

Android源码中所有权限定义的文件为:

frameworks/base/core/res/AndroidManifest.xml  

2.2.1 normal 普通权限

举个例子:

<!-- Allows applications to disable the keyguard if it is not secure.
         <p>Protection level: normal
    -->
    <permission android:name="android.permission.DISABLE_KEYGUARD"
        android:description="@string/permdesc_disableKeyguard"
        android:label="@string/permlab_disableKeyguard"
        android:protectionLevel="normal" />

此权限只要在应用自己的AndroidManifest.xml 声明,那么系统就默认赋予了该权限,无需征得用户的明确许可。

2.2.2 signature 签名权限

举个例子:

<!-- Allows an application to get full detailed information about
         recently running tasks, with full fidelity to the real state.
         @hide -->
    <permission android:name="android.permission.GET_DETAILED_TASKS"
        android:protectionLevel="signature" />

签名权限描述:

只有当应用A  与  定义权限的应用B  或  OS  使用相同的证书签名时,系统才会向应用授予签名权限。   怎么理解这句话呢? 

11 android 授予允许管理所有文件 android权限限制_Android_02

OS 我理解的就是 Android 系统;

我们来回顾一下应用的证书签名这个概念,在应用的Andorid.mk 或 Android.bp 文件中有个属性

LOCAL_CERTIFICATE 用于设置不同的签名方式

LOCAL_CERTIFICATE := PRESIGNED,打包apk时,沿用apk中原来的签名

用于设置不同的签名方式build/target/product/security目录中有四组默认签名供Android.mk在编译APK使用:

        1、testkey:普通APK,默认情况下使用。

        2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。

        3、shared:该APK需要和home/contacts进程共享数据。

        4、media:该APK是media/download系统中的一环。

应用程序的Android.mk中有一个LOCAL_CERTIFICATE字段,由它指定用哪个key签名,未指定的默认用testkey.

如下几种方式:

LOCAL_CERTIFICATE :                    #使用平台文件签名
(1)platform签名: 
AndroidManifest.xml的manifest节点中添加 android:sharedUserId=”android.uid.system”, 
Android.mk中增加  LOCAL_CERTIFICATE := platform 
(2)shared签名: 
AndroidManifest.xml的manifest节点中增加android:sharedUserId=”android.uid.shared”, 
Android.mk中增加LOCAL_CERTIFICATE := shared 
(3)media签名: 
AndroidManifest.xml的manifest节点中增加 android:sharedUserId=”android.media”, 
Android.mk中增加 LOCAL_CERTIFICATE := media

我们来看第一种情况: 应用A 和 应用B  具有相同的证书签名 

或者这样子理解:等同于两个LOCAL_CERTIFICATE := PRESIGNED 具有相同证书签名应用。

如果应用B先安装的,而且已经申请过权限,(A和B有相同的证书签名)则系统会在不通知用户或征得用户明确许可的情况下,给A应用自动授予这些signature权限。

我们来看第二种情况: 应用A 和 系统签名应用 

上述3中系统签名的应用, 

1.  android:sharedUserId=”android.uid.system”      LOCAL_CERTIFICATE := platform 

这种就比较常见,比如安卓系统中比较重要的系统应用,如设置,SystemUI  Launcher等

2.  android:sharedUserId=”android.uid.shared”     LOCAL_CERTIFICATE := shared

     拥有这类签名的应用,比如 ContactsProvider 应用

11 android 授予允许管理所有文件 android权限限制_API_03

3.  android:sharedUserId=”android.media”     LOCAL_CERTIFICATE := media

   多媒体相关的应用 比如 图库, MediaProivder   DownloadProvider 等应用

假如应用A 与上面的这些应用具有相同的证书签名的话,则系统会在不通知用户或征得用户明确许可的情况下,给A应用自动授予这些signature权限。

2.2  运行时权限

        运行时权限也称为危险(dangerous)权限,此类权限授予应用对受限数据的额外访问权限,或允许应用执行对系统和其他应用具有更严重影响的受限操作。因此,您需要先在应用中请求运行时权限然后才能访问受限数据或执行受限操作。

这种也比较好理解:就是当出现这种对话框的时候,这些权限就是运行时权限,定义权限的的保护级别带有   android:protectionLevel="dangerous" 

11 android 授予允许管理所有文件 android权限限制_android_04

<permission android:name="android.permission.ACCESS_FINE_LOCATION"
        android:permissionGroup="android.permission-group.UNDEFINED"
        android:label="@string/permlab_accessFineLocation"
        android:description="@string/permdesc_accessFineLocation"
        android:backgroundPermission="android.permission.ACCESS_BACKGROUND_LOCATION"
        android:protectionLevel="dangerous|instant" />

11 android 授予允许管理所有文件 android权限限制_Android_05

<permission android:name="android.permission.CAMERA"
        android:permissionGroup="android.permission-group.UNDEFINED"
        android:label="@string/permlab_camera"
        android:description="@string/permdesc_camera"
        android:protectionLevel="dangerous|instant" />

众所周知,Android6.0引入了动态权限,前面说到的自定义的权限的安全级别android:protectionLevel会影响权限在Android6.0+系统的使用

android:protectionLevel=“normal”,不需要动态申请
android:protectionLevel=“dangerous”,需要动态申请

这样子就更好理解一点了。
 

2.3  特殊权限

        特殊权限与特定的应用操作相对应。只有平台和原始设备制造商 (OEM) 可以定义特殊权限。此外,如果平台和 OEM 想要防止有人执行功能特别强大的操作(例如通过其他应用绘图),通常会定义特殊权限。

        系统设置中的特殊应用访问权限页面包含一组用户可切换的操作。其中的许多操作都是以特殊权限的形式实现的。

        特殊权限旨在限制访问尤其敏感或与用户隐私没有直接关系的系统资源。这些权限不同于安装时权限和运行时权限。

一些特殊权限示例:

  • 设定精确的闹钟。
  • 在其他应用前方显示和绘图。
  • 访问所有存储数据。

声明特殊权限的应用会显示在系统设置中的特殊应用权限页面内(图 1)。如需向应用授予特殊权限,用户必须转到此页面:设置 > 应用 > 特殊应用权限

11 android 授予允许管理所有文件 android权限限制_API_06

Android上声明和请求特殊权限的工作流程

11 android 授予允许管理所有文件 android权限限制_Andorid权限_07

 【备注】: 与运行时权限不同,用户必须从系统设置中的特殊应用权限页面授予特殊权限。应用可以使用 intent 将用户转到该页面,这会暂停应用,并启动相应的设置页面,以便用户授予指定的特殊权限。用户返回到应用后,应用可以在 onResume() 函数中检查是否已获得相应权限。

以下示例代码展示了如何请求用户授予 SCHEDULE_EXACT_ALARMS 特殊权限:

val alarmManager = getSystemService<AlarmManager>(Context.ALARM_SERVICE)
when {
   // if permission is granted, proceed with scheduling exact alarms…
   alarmManager.canScheduleExactAlarms() -> {
       alarmManager.setExact(...)
   }
   else -> {
       // ask users to grant the permission in the corresponding settings page
       startActivity(Intent(ACTION_REQUEST_SCHEDULE_EXACT_ALARM))
   }
}

在 onResume() 中检查权限和处理用户决定的示例代码:

override fun onResume() {
   // ...

   if (alarmManager.canScheduleExactAlarms()) {
       // proceed with the action (setting exact alarms)
       alarmManager.setExact(...)
   }
   else {
       // permission not yet approved. Display user notice and gracefully degrade
       your app experience.
       alarmManager.setWindow(...)
   }
}

3. 权限大全

3.1 运行时(危险)权限

运行时(危险)权限以及对应分组如下,也就是说这些权限都需要动态申请的

11 android 授予允许管理所有文件 android权限限制_android_08

 再详细说明一下:

权限组: CONTACTS   API级别:23   
描述:  联系人和配置文件相关的运行时权限。

名称

保护等级

API级别

叙述

READ_CONTACTS

危险

1

允许应用读取用户联系人数据。

WRITE_CONTACTS

危险

1

允许应用写入用户联系人数据。

GET_ACCOUNTS

危险

1

允许访问帐户服务中的帐户列表。

权限组:CALENDAR   API级别:17

描述:用户日历相关的运行时权限。

名称

保护等级

API级别

叙述

READ_CALENDAR

危险

1

允许应用读取用户日历数据。

WRITE_CALENDAR

危险

1

允许应用写入用户日历数据。

权限组:SMS   API级别:23

描述:短信相关的运行时权限。

名称

保护等级

API级别

叙述

SEND_SMS

危险

1

允许应用发送短信。

RECEIVE_SMS

危险

1

允许应用接收短信。

READ_SMS

危险

1

允许应用访问SMS信息。

RECEIVE_WAP_PUSH

危险

1

允许应用接收WAP推送信息。

RECEIVE_MMS

危险

1

允许应用监视传入的彩信。

READ_CELL_BROADCASTS

危险

-

允许应用读取小区广播消息。



权限组:STORAGE  API级别:4

描述:外部存储相关的运行时权限。API级别Q以后不再建议使用。

名称

保护等级

API级别

叙述

READ_EXTERNAL_STORAGE

危险

16

允许应用读取扩展存储。

API级别Q以后不再建议使用。

WRITE_EXTERNAL_STORAGE

危险

4

允许应用写入扩展存储。

API级别Q以后不再建议使用。

权限组:LOCATION  API级别:1

描述:允许访问设备位置信息的权限。

名称

保护等级

API级别

叙述

ACCESS_FINE_LOCATION

危险

1

允许应用访问精确的位置。

ACCESS_COARSE_LOCATION

危险

1

允许应用访问大概的位置。

权限组:CALL_LOG  API级别:28

描述:电话功能的权限。

名称

保护等级

API级别

叙述

PROCESS_OUTGOING_CALLS

危险

1

允许应用查看拨出呼叫期间拨出的号码。

READ_CALL_LOG

危险

16

允许应用读取用户通话日志。

WRITE_CALL_LOG

危险

16

允许应用写入用户通话日志。

权限组:PHONE  API级别:23

描述: 电话功能相关的权限。

名称

保护等级

API级别

叙述

CALL_PHONE

危险

1

允许应用在不经过拨号界面的情况下启动电话呼叫,以便用户确认呼叫。

READ_PHONE_STATE

危险

1

允许应用访问电话状态。

USE_SIP

危险

9

允许应用使用SIP服务。

ADD_VOICEMAIL

危险

14

允许应用向系统中添加语音邮件。

ANSWER_PHONE_CALLS

危险

26

允许应用接听来电。

MANAGE_OWN_CALLS

正常

26

允许调用应用通过自我管理的ConnectionService API管理自己的调用。

READ_PHONE_NUMBERS

危险

26

允许应用读取设备的电话号码。

ACCEPT_HANDOVER

危险

28

允许呼叫应用继续在其他应用中启动的呼叫。

例如,视频通话应用希望在用户的移动网络上继续语音通话。

ACCESS_UCE_PRESENCE_SERVICE

签名|专用

-

允许应用访问UCE-Presence。

ACCESS_UCE_OPTIONS_SERVICE

签名|专用

-

允许应用访问UCE-OPTIONS。

权限组: MICROPHONE  API级别:17

描述:访问麦克风相关的权限。请注意,电话呼叫也会捕获音频,但属于单独的权限组。

名称

保护等级

API级别

叙述

RECORD_AUDIO

危险

1

允许应用录音。

权限组: CAMERA   API级别:17

描述:访问相机或从设备捕获图像/视频相关的权限。

名称

保护等级

API级别

叙述

CAMERA

危险|立即

1

允许访问摄像头。

权限组:SENSORS  API级别:23

描述:身体或环境传感器相关的权限。

名称

保护等级

API级别

叙述

BODY_SENSORS

危险

20

允许应用访问身体传感器的数据。

3.2 normal权限

非完整归纳,涵盖大部分

名称

保护等级

API级别

叙述

ACCESS_LOCATION_EXTRA_COMMANDS

正常

1

允许程序获取额外的位置信息提供程序命令。

ACCESS_NETWORK_STATE

正常|立即

1

允许应用获取网络信息状态。

ACCESS_WIFI_STATE

正常

1

允许应用获取当前WiFi接入的状态以及WLAN热点的信息。

BLUETOOTH

正常

1

允许程序连接配对过的蓝牙设备。

BLUETOOTH_ADMIN

正常

1

允许程序发现和配对新的蓝牙设备。

BROADCAST_STICKY

正常

1

允许应用发送持久广播。

CHANGE_NETWORK_STATE

正常

1

允许应用更改网络连接状态。

CHANGE_WIFI_STATE

正常

1

允许应用更改Wi-Fi连接状态。

DELETE_PACKAGES

正常

1

允许程序删除应用。

对第三方应用不可用。

DISABLE_KEYGUARD

正常

1

允许应用停用键锁以及任何关联的密码安全措施。

EXPAND_STATUS_BAR

正常

1

允许程序展开/收拢状态栏。

GET_PACKAGE_SIZE

正常

1

允许应用计算应用存储空间。

GET_TASKS

正常

1

允许程序获取当前或最近运行的应用。

API级别21以后不再建议使用。

INTERNET

正常|立即

1

允许应用访问网络连接。

MODIFY_AUDIO_SETTINGS

正常

1

允许应用修改全局声音设置。

PERSISTENT_ACTIVITY

正常

1

让应用始终运行。

API级别15以后不再建议使用。

READ_SYNC_SETTINGS

正常

1

允许应用读取同步设置。

READ_SYNC_STATS

正常

1

允许应用读取同步状态。

RECEIVE_BOOT_COMPLETED

正常

1

允许应用开机启动。

REORDER_TASKS

正常

1

允许应用对正在运行的应用重新排序。

RESTART_PACKAGES

正常

1

允许应用关闭其他应用。

API级别15以后不再建议使用。

SET_WALLPAPER

正常

1

允许应用设置壁纸。

SET_WALLPAPER_HINTS

正常

1

允许应用设置壁纸提示。

VIBRATE

正常|立即

1

允许应用使用震动。

WAKE_LOCK

正常

1

允许应用防止手机休眠。

CHANGE_WIFI_MULTICAST_STATE

正常

4

允许应用进入Wi-Fi多播模式。

KILL_BACKGROUND_PROCESSES

正常

8

允许应用关闭其他应用。

NFC

正常

9

允许应用通过NFC执行I/O操作。

WRITE_SYNC_SETTINGS

正常

1

允许应用写入同步设置。

SET_ALARM

正常

9

允许应用使用Intent通过广播设置闹钟。

INSTALL_SHORTCUT

正常

19

允许应用安装快捷方式。

API级别26以后通过ShortcutManager.requestPinShortcut()实现。

TRANSMIT_IR

正常

19

允许应用使用设备的红外发射器。

UNINSTALL_SHORTCUT

正常

19

允许应用卸载快捷方式。

ACCESS_NOTIFICATION_POLICY

正常

23

允许应用读取和写入“勿扰”模式配置。

REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

正常

23

允许应用请求忽略电池优化。

REQUEST_COMPANION_RUN_IN_BACKGROUND

正常

26

允许应用在后台运行。

REQUEST_COMPANION_USE_DATA_IN_BACKGROUND

正常

26

允许应用在后台使用数据。

REQUEST_DELETE_PACKAGES

正常

26

允许应用程序请求删除软件包。

FOREGROUND_SERVICE

正常

28

允许应用使用前台服务。

NFC_TRANSACTION_EVENT

正常

28

允许应用接收NFC事务事件。

CALL_COMPANION_APP

正常

Q

允许实现InCallService API的应用有资格作为调用伴随应用启用。

ACCESS_BACKGROUND_LOCATION

危险

Q

允许应用在后台访问位置。

如果请求这个权限,您还应该请求ACCESS_FINE_LOCATION。

ACCESS_MEDIA_LOCATION

-

Q

允许应用访问用户共享集合中保留的任何地理位置。

ACTIVITY_RECOGNITION

危险

Q

允许应用识别当前用户的物理活动。

比如:行走,驾驶或者静止站立。

BIND_SMS_APP_SERVICE

-

Q

SmsAppService的子类必要。

GET_AND_REQUEST_SCREEN_LOCK_COMPLEXITY

正常

Q

允许应用获得屏幕锁定复杂度并提示用户,

将屏幕锁定更新到特定的复杂性级别。

READ_MEDIA_AUDIO

-

Q

允许应用读取用户共享音频集合。

READ_MEDIA_IMAGES

-

Q

允许应用读取用户共享图像集合。

READ_MEDIA_VIDEO

-

Q

允许应用读取用户共享视频集合。

SMS_FINANCIAL_TRANSACTIONS

-

Q

允许财务应用读取过滤信息。

USE_FULL_SCREEN_INTENT

-

Q

对于命中Build.VERSION_CODES.Q的想要使用通知全屏Intents的应用是必需的。

3.3 signature签名权限

名称

保护等级

API级别

叙述

ACCESS_CHECKIN_PROPERTIES

签名|专用

1

允许应用读取/写入登记check-in数据库属性表。

对第三方应用不可用。

ACCOUNT_MANAGER

签名

5

允许应用获取账户验证信息。

对第三方应用不可用。

BATTERY_STATS

签名|专用|开发

1

允许应用收集电池统计信息。

BIND_ACCESSIBILITY_SERVICE

签名

16

AccessibilityService必要。

确保只有系统可以绑定到它。

BIND_APPWIDGET

签名|专用

3

允许应用告诉AppWidget服务哪个应用可以访问AppWidget的数据。

对第三方应用不可用。

BIND_AUTOFILL_SERVICE

签名

26

AutofillService必要。

确保只有系统可以绑定到它。

BIND_CALL_REDIRECTION_SERVICE

签名|专用

Q

CallRedirectionService必要。

确保只有系统可以绑定到它。

BIND_CARRIER_MESSAGING_SERVICE

签名|专用

22

API级别23以后不再建议使用,使用BIND_CARRIER_SERVICES

BIND_CARRIER_SERVICES

签名|专用

23

允许应用绑定到运营商服务。

BIND_CHOOSER_TARGET_SERVICE

签名

23

ChooserTargetService必要。

确保只有系统可以绑定到它。

BIND_CONDITION_PROVIDER_SERVICE

签名

24

ConditionProviderService必要。

确保只有系统可以绑定到它。

BIND_DEVICE_ADMIN

签名

8

系统管理员接收者必要。

确保只有系统可以绑定到它。

BIND_DREAM_SERVICE

签名

21

DreamService必要。

确保只有系统可以绑定到它。

BIND_INCALL_SERVICE

签名|专用

23

InCallService必要。

确保只有系统可以绑定到它。

BIND_INPUT_METHOD

签名

3

InputMethodService必要。

确保只有系统可以绑定到它。

BIND_MIDI_DEVICE_SERVICE

签名

23

MidiDeviceService必要。

确保只有系统可以绑定到它。

BIND_NFC_SERVICE

签名

19

HostApduService或OffHostApduService必要。

确保只有系统可以绑定到它。

BIND_NOTIFICATION_LISTENER_SERVICE

签名

18

NotificationListenerService必要。

确保只有系统可以绑定到它。

BIND_PRINT_SERVICE

签名

19

PrintService必要。

确保只有系统可以绑定到它。

BIND_QUICK_SETTINGS_TILE

签名

24

允许应用绑定到第3方快速设置。

TileService必要。确保只有系统可以绑定到它。

BIND_REMOTEVIEWS

签名|专用

11

RemoteViewsService必要。

确保只有系统可以绑定到它。

BIND_SCREENING_SERVICE

签名|专用

24

CallScreeningService必要。

确保只有系统可以绑定到它。

BIND_TELECOM_CONNECTION_SERVICE

签名|专用

23

ConnectionService必要。

确保只有系统可以绑定到它。

BIND_TEXT_SERVICE

签名

14

TextService(比如SpellCheckerService)必要。

确保只有系统可以绑定到它。

BIND_TV_INPUT

签名|专用

21

TvInputService必要。

确保只有系统可以绑定到它。

BIND_VISUAL_VOICEMAIL_SERVICE

签名|专用

26

链接VisualVoicemailService必要。

确保只有系统可以绑定到它。

BIND_VOICE_INTERACTION

签名

21

VoiceInteractionService必要。

确保只有系统可以绑定到它。

BIND_VPN_SERVICE

签名

14

VpnService必要。

确保只有系统可以绑定到它。

BIND_VR_LISTENER_SERVICE

签名

24

VrListenerService必要。

确保只有系统可以绑定到它。

BIND_WALLPAPER

签名|专用

8

WallpaperService必要。

确保只有系统可以绑定到它。

BLUETOOTH_PRIVILEGED

签名|专用

19

允许应用配对蓝牙设备而无需用户交互,

并允许或禁止电话簿访问或消息访问。

对第三方应用不可用。

BROADCAST_PACKAGE_REMOVED

签名

1

允许应用广播已删除应用包的通知。

对第三方应用不可用。

BROADCAST_SMS

签名

2

允许应用广播短信息接收通知。

对第三方应用不可用。

BROADCAST_WAP_PUSH

签名

2

允许应用广播WAP推送回执通知。

对第三方应用不可用。

CALL_PRIVILEGED

签名|专用

1

允许应用调用任何电话号码,包括紧急号码,

而无需通过拨号界面让用户确认正在呼叫。

对第三方应用不可用。

CAPTURE_AUDIO_OUTPUT

签名|专用

19

允许应用捕获音频输出。

对第三方应用不可用。

CHANGE_COMPONENT_ENABLED_STATE

签名|专用

1

允许应用改变组件启用状态(而不是其自己的组件)。

对第三方应用不可用。

CHANGE_CONFIGURATION

签名|专用|开发

1

允许应用修改当前配置,如区域设置。

CLEAR_APP_CACHE

签名|专用

1

允许应用清除设备上所有已安装应用的缓存。

CONTROL_LOCATION_UPDATES

签名|专用

1

允许启用/禁止无线模块位置更新提示。

对第三方应用不可用。

DELETE_CACHE_FILES

签名|专用

1

允许应用删除缓存文件。

DIAGNOSTIC

签名

1

允许应用将RW转换为诊断资源。

对第三方应用不可用。

DUMP

签名|专用|开发

1

允许程序从系统服务获取系统dump信息。

对第三方应用不可用。

FACTORY_TEST

签名

1

允许程序运行工厂测试模式。

对第三方应用不可用。

GET_ACCOUNTS_PRIVILEGED

签名|专用

23

允许访问帐户服务中的帐户列表。

GLOBAL_SEARCH

签名|专用

4

此权限用于内容提供程序,以允许全局搜索系统访问其数据。

INSTALL_LOCATION_PROVIDER

签名|专用

4

允许应用将位置提供程序安装到位置管理器中。

对第三方应用不可用。

INSTALL_PACKAGES

签名|专用

1

允许应用安装APK。

对第三方应用不可用。

INSTANT_APP_FOREGROUND_SERVICE

签名|开发|立即|应用

26

允许应用创建前台服务。

MANAGE_DOCUMENTS

签名

19

允许应用管理访问文档,通常作为文档选取器的一部分。

对第三方应用不可用。

MASTER_CLEAR

签名|专用

1

允许应用执行软格式化。

对第三方应用不可用。

MEDIA_CONTENT_CONTROL

签名|专用

19

允许应用知道正在播放的内容并控制其播放。

对第三方应用不可用。

MODIFY_PHONE_STATE

签名|专用

1

允许修改手机状态。

对第三方应用不可用。

MOUNT_FORMAT_FILESYSTEMS

签名|专用

3

允许格式可移动存储。

对第三方应用不可用。

MOUNT_UNMOUNT_FILESYSTEMS

签名|专用

1

允许挂载/卸载可移动存储。

对第三方应用不可用。

PACKAGE_USAGE_STATS

签名|开发|立即|应用

23

允许应用收集组件使用统计信息。

READ_FRAME_BUFFER

签名|专用

-

允许应用读取帧缓存用于屏幕截图。

对第三方应用不可用。

READ_INPUT_STATE

签名

1

允许应用检索按键和开关的当前状态。

API级别16以后不再建议使用。

对第三方应用不可用。

READ_LOGS

签名|专用|开发

1

允许应用读取系统底层日志。

对第三方应用不可用。

READ_VOICEMAIL

签名|专用

21

允许应用读取系统语音邮件。

REBOOT

签名|专用

1

允许应用重启设备。

对第三方应用不可用。

REQUEST_INSTALL_PACKAGES

签名|应用

23

允许应用请求安装软件包。

API级别25以后的应用必须拥有此权限才能使用ACTION_INSTALL_PACKAGE。

SEND_RESPOND_VIA_MESSAGE

签名|专用

18

在通话期间,允许应用(电话)向其他应用发送请求,处理respond-via-message动作。

对第三方应用不可用。

SET_ALWAYS_FINISH

签名|专用|开发

1

允许应用控制在后台运行时是否立即结束活动。

对第三方应用不可用。

SET_ANIMATION_SCALE

签名|专用|开发

1

修改全局动画比例因子。

对第三方应用不可用。

SET_DEBUG_APP

签名|专用|开发

1

设置为Debug应用。

对第三方应用不可用。

SET_PREFERRED_APPLICATIONS

签名|验证

1

允许应用设置首选应用。

API级别15以后不再建议使用。

SET_PROCESS_LIMIT

签名|专用|开发

1

允许应用设置可以运行的最大(不需要的)进程数。

对第三方应用不可用。

SET_TIME

签名|专用

8

允许应用设置系统时间。

对第三方应用不可用。

SET_TIME_ZONE

签名|专用

1

允许应用设置系统时区。

对第三方应用不可用。

SIGNAL_PERSISTENT_PROCESSES

签名|专用|开发

1

允许应用请求向所有持久进程发送信号。

对第三方应用不可用。

STATUS_BAR

签名|专用

1

允许应用打开、关闭、禁用状态栏和图标。

对第三方应用不可用。

SYSTEM_ALERT_WINDOW

签名|应用|开发|预安装

1

允许应用显示在其他应用上方。

API级别23后不再建议使用。

UPDATE_DEVICE_STATS

签名|专用

3

允许应用更新设备状态。

对第三方应用不可用。

WRITE_APN_SETTINGS

签名|专用

1

允许应用写入APN设置并读取现有APN设置的敏感字段。

对第三方应用不可用。

WRITE_GSERVICES

签名|专用

1

允许应用修改Google服务地图。

对第三方应用不可用。

WRITE_SECURE_SETTINGS

签名|专用|开发

3

允许应用读写安全系统设置。

对第三方应用不可用。

WRITE_SETTINGS

签名|预安装|应用

1

允许应用读写系统设置。

API级别23后不再建议使用。

WRITE_VOICEMAIL

签名|专用

21

允许应用修改删除系统语音邮件。

3.4 @hide属性权限

与(Android 将权限分为不同的类型,包括安装时权限运行时权限特殊权限)分类概念没有关系。

比如在AndoridManifest.xml 这样申明的, 有明确 @hide标识的, 这里只是分类单独归纳出来,

<!-- @SystemApi @hide Allows an application to mark other applications as harmful -->
    <permission android:name="android.permission.SET_HARMFUL_APP_WARNINGS"
        android:protectionLevel="XXXXX" />

名称

保护等级

API级别

叙述

ACCESS_AMBIENT_LIGHT_STATS

签名|专用|开发

-

允许应用收集环境光状态。
对第三方应用不可用。

ACCESS_BROADCAST_RADIO

签名|专用

-

允许访问广播电台。
对第三方应用不可用。

ACCESS_CACHE_FILESYSTEM

签名|专用

-

允许应用读写缓存分区。

ACCESS_CONTENT_PROVIDERS_EXTERNALLY

签名

-

允许通过ApplicationThread外部访问内容提供程序。

ACCESS_DRM_CERTIFICATES

签名|专用

-

允许应用提供和访问DRM凭证。
对第三方应用不可用。

ACCESS_FM_RADIO

签名|专用

-

允许访问FM。
对第三方应用不可用。

ACCESS_IMS_CALL_SERVICE

签名|专用

-

允许程序使用即时通讯通话服务。

ACCESS_INPUT_FLINGER

签名

-

允许应用访问InputFlinger。

ACCESS_INSTANT_APPS

签名|安装|验证

-

允许访问和管理即时应用。

ACCESS_KEYGUARD_SECURE_STORAGE

签名

-

允许应用访问键盘安全存储。

ACCESS_LOWPAN_STATE

签名|专用

-

允许应用访问LoWPAN。
对第三方应用不可用。

ACCESS_MOCK_LOCATION

签名

1

允许应用获取模拟定位信息。

ACCESS_MTP

签名|专用

-

允许应用访问MTP-USB内核驱动程序。
仅用于设备端MTP实现。

ACCESS_NETWORK_CONDITIONS

签名|专用

-

允许应用监听网络状态。
对第三方应用不可用。

ACCESS_NOTIFICATIONS

签名|专用|应用

-

允许应用程序读取当前通知集。

ACCESS_PDB_STATE

签名

-

允许查询PersistentDataBlock的状态。
对第三方应用不可用。

ACCESS_SHORTCUTS

签名|文本分类器

-

允许访问所有应用快捷方式。

ACCESS_SURFACE_FLINGER

签名

1

允许应用访问Android平台上底层的图形显示支持。
对第三方应用不可用。

ACCESS_VOICE_INTERACTION_SERVICE

签名

-

允许应用与当前语音交互服务交互。

ACCESS_VR_MANAGER

签名

-

允许应用访问IVrManager。

ACCESS_VR_STATE

签名|预安装

-

需要通过访问VR-Mode状态和状态更改事件。

ACCESS_WIMAX_STATE

正常

-

允许应用建立或中断WiMAX网络连接。

ACTIVITY_EMBEDDING

签名|专用|开发

-

允许应用嵌入其他Activity。

ALLOCATE_AGGRESSIVE

签名|专用

-

允许应用分配磁盘空间。
对第三方应用不可用。

ALLOW_ANY_CODEC_FOR_PLAYBACK

签名|专用

-

允许应用在解码播放时使用任何媒体解码器。

ASEC_ACCESS

签名

-

允许应用访问ASEC无损API。

ASEC_CREATE

签名

-

允许创建ASEC卷。

ASEC_DESTROY

签名

-

允许销毁ASEC卷。

ASEC_MOUNT_UNMOUNT

签名

-

允许装载/卸载ASEC卷。

ASEC_RENAME

签名

-

允许为ASEC卷改名。

BACKUP

签名|专用

-

允许应用控制备份和还原过程。
对第三方应用不可用。

BIND_AUTOFILL_FIELD_CLASSIFICATION_SERVICE

签名

-

允许应用访问AutofillFieldClassificationService。
确保只有系统可以绑定到它。
对第三方应用不可用。

BIND_AUTOFILL

签名

-

允许应用绑定自动填充。

BIND_CACHE_QUOTA_SERVICE

签名

-

允许应用访问CacheQuotaService。
对第三方应用不可用。

BIND_COMPANION_DEVICE_MANAGER_SERVICE

签名

-

允许应用访问CompanionDeviceManager。
确保只有系统可以绑定到它。

BIND_CONNECTION_SERVICE

签名|专用

-

允许应用绑定ConnectionService。

BIND_DIRECTORY_SEARCH

签名|专用

-

允许应用搜索联系人目录。这只能由ContactsProvider使用。
对第三方应用不可用。

BIND_EUICC_SERVICE

签名

-

允许应用调用EuiccService。
确保只有系统可以绑定到它。

BIND_IMS_SERVICE

签名|专用

-

允许应用调用ImsService。
确保只有系统可以绑定到它。

BIND_INTENT_FILTER_VERIFIER

签名

-

允许过滤接收器。
确保只有系统可以绑定到它。

BIND_JOB_SERVICE

签名

-

允许应用绑定任务服务。

BIND_KEYGUARD_APPWIDGET

签名|专用

-

允许在键盘添加小部件。

BIND_NETWORK_RECOMMENDATION_SERVICE

签名

-

允许系统绑定到发现的网络推荐服务。

BIND_NOTIFICATION_ASSISTANT_SERVICE

签名

-

允许应用访问NotificationAssistantService。
确保只有系统可以绑定到它。

BIND_PACKAGE_VERIFIER

签名

-

包验证接收器必要。
确保只有系统可以绑定到它。

BIND_PRINT_RECOMMENDATION_SERVICE

签名

-

允许应用访问RecommendationService。
确保只有系统可以绑定到它。

BIND_PRINT_SPOOLER_SERVICE

签名

-

允许应用访问PrintSpooler。
确保只有系统可以绑定到它。

BIND_REMOTE_DISPLAY

签名

-

允许应用访问RemoteDisplayProvider。
确保只有系统可以绑定到它。

BIND_RESOLVER_RANKER_SERVICE

签名

-

允许应用扩展ResolverRankerService。
确保只有系统可以绑定到它。

BIND_ROUTE_PROVIDER

签名

-

允许应用访问MediaRouteService。
确保只有系统可以绑定到它。

BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE

签名

-

允许应用访问RuntimePermissionPresenterService。
确保只有系统可以绑定到它。

BIND_SETTINGS_SUGGESTIONS_SERVICE

签名

-

允许应用绑定到建议服务。

BIND_SOUND_TRIGGER_DETECTION_SERVICE

签名

-

允许服务检测声音。

BIND_TELEPHONY_DATA_SERVICE

签名

-

允许应用使用电话数据服务。
确保只有系统可以绑定到它。

BIND_TELEPHONY_NETWORK_SERVICE

签名

-

允许应用调用NetworkService。
确保只有系统可以绑定到它。

BIND_TEXTCLASSIFIER_SERVICE

签名

-

允许应用访问TextClassifierService。
确保只有系统可以绑定到它。
对第三方应用不可用。

BIND_TRUST_AGENT

签名

-

允许应用访问TrustAgentService。
确保只有系统可以绑定到它。

BIND_TV_REMOTE_SERVICE

签名|专用

-

允许应用访问TvRemoteProvider。
确保只有系统可以绑定到它。
对第三方应用不可用。

BLUETOOTH_MAP

签名

-

控制对仅用于蓝牙的电子邮件提供商的访问。

BLUETOOTH_STACK

签名

-

允许蓝牙堆栈访问文件。
只能由蓝牙APK使用。

BRICK

签名

-

允许应用禁用手机。
对第三方应用不可用。

BRIGHTNESS_SLIDER_USAGE

签名|专用|开发

-

允许应用收集亮度滑块更改信息。
对第三方应用不可用。

BROADCAST_NETWORK_专用

签名|专用

-

允许应用广播专用网络请求。
对第三方应用不可用。

C2D_MESSAGE

签名

-

C2DM权限。

CACHE_CONTENT

签名

-

允许应用缓存内容。
对第三方应用不可用。

CAMERA_DISABLE_TRANSMIT_LED

签名|专用

-

允许禁用应用使用相机时正常打开的传输指示灯LED。

CAMERA_SEND_SYSTEM_EVENTS

签名|专用

-

允许发送有关系统范围内事件的照相机服务通知。

CAPTURE_AUDIO_HOTWORD

签名|专用

-

允许应用捕获音频进行Hotword检测。
对第三方应用不可用。

CAPTURE_SECURE_VIDEO_OUTPUT

签名|专用

-

允许应用捕获安全视频输出。
对第三方应用不可用。

CAPTURE_TV_INPUT

签名|专用

-

允许捕获一帧电视输入硬件。
对第三方应用不可用。

CAPTURE_VIDEO_OUTPUT

签名|专用

-

允许应用捕获视频输出。
对第三方应用不可用。

CARRIER_FILTER_SMS

签名|专用

-

允许应用筛选特定运营商的短信。

CHANGE_ACCESSIBILITY_VOLUME

签名

-

允许应用更改辅助功能卷。

CHANGE_APP_IDLE_STATE

签名|专用

-

允许应用更改空闲状态。
对第三方应用不可用。

CHANGE_BACKGROUND_DATA_SETTING

签名

-

允许应用更改后台数据设置。
对第三方应用不可用。

CHANGE_DEVICE_IDLE_TEMP_WHITELIST

签名|专用

-

允许应用访问网络和获取唤醒锁。
对第三方应用不可用。

CHANGE_HDMI_CEC_ACTIVE_SOURCE

签名|专用

-

允许应用更改HDMI-CEC活动源。
对第三方应用不可用。

CHANGE_LOWPAN_STATE

签名|专用

-

允许应用更改LoWPAN状态。
对第三方应用不可用。

CHANGE_OVERLAY_PACKAGES

签名|专用

-

允许应用更改资源覆盖的优先级。

CHANGE_WIMAX_STATE

正常

-

允许应用更改WiMAX状态。

CLEAR_APP_GRANTED_URI_PERMISSIONS

签名

-

允许应用清除其他应用的URI权限。
对第三方应用不可用。

CLEAR_APP_USER_DATA

签名|专用

1

允许应用清除设备上所有已安装应用的用户数据。

CONFIGURE_DISPLAY_BRIGHTNESS

签名|专用|开发

-

允许应用修改亮度。

CONFIGURE_DISPLAY_COLOR_MODE

签名

-

允许应用控制颜色模式。
对第三方应用不可用。

CONFIGURE_WIFI_DISPLAY

签名

-

允许应用配置并连接到WiFi显示器。

CONFIRM_FULL_BACKUP

签名

-

允许包启动安全完整备份确认UI。
确保只有系统可以绑定到它。

CONNECTIVITY_INTERNAL

签名|专用

-

允许应用使用ConnectivityManager专用API。

CONNECTIVITY_USE_RESTRICTED_NETWORKS

签名|专用

-

允许内部用户使用受限网络。

CONTROL_DISPLAY_BRIGHTNESS

签名

-

允许应用控制系统亮度。

CONTROL_DISPLAY_SATURATION

签名|专用

-

允许应用控制颜色饱和度。

CONTROL_INCALL_EXPERIENCE

签名|专用

-

允许应用控制通话体验。

CONTROL_KEYGUARD

签名

-

允许应用控制键盘。

CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS

签名|专用

-

允许应用控制远程动画。
对第三方应用不可用。

CONTROL_VPN

签名|专用

-

允许应用控制VPN。
对第三方应用不可用。

CONTROL_WIFI_DISPLAY

签名

-

允许应用控制WiFi显示器。

COPY_PROTECTED_DATA

签名

-

默认容器服务必要。

CREATE_USERS

签名

-

允许应用创建用户。
对第三方应用不可用。

CRYPT_KEEPER

签名|专用

-

保护访问加密方法。

DELETE_PACKAGES

签名|专用

-

允许应用删除包。

DEVICE_POWER

签名

-

允许访问底层电源管理。
对第三方应用不可用。

DISABLE_HIDDEN_API_CHECKS

签名

-

允许在启动进程时禁用隐藏的API检查。
对第三方应用不可用。

DISABLE_INPUT_DEVICE

签名

-

允许应用禁用/启用输入设备。

DISPATCH_NFC_MESSAGE

签名|专用

-

允许NFC堆栈向应用发送NFC消息。

DISPATCH_PROVISIONING_MESSAGE

签名|专用

-

允许受信应用管理其他应用设置。

DVB_DEVICE

签名|专用

-

允许TvInputService访问DVB设备。
对第三方应用不可用。

FILTER_EVENTS

签名

-

允许应用注册输入过滤器。

FORCE_BACK

签名

-

允许应用强制使用back后退按键,无论Activity是否在顶层。
对第三方应用不可用。

FORCE_PERSISTABLE_URI_PERMISSIONS

签名

-

允许应用更改授予其他应用的持久URI权限的状态。
对第三方应用不可用。

FORCE_STOP_PACKAGES

签名|专用

-

允许应用调用forceStopPackage。

FRAME_STATS

签名

-

允许应用收集帧统计信息。

FREEZE_SCREEN

签名

-

允许应用暂时冻结屏幕以进行全屏切换。

GET_APP_GRANTED_URI_PERMISSIONS

签名

-

允许应用获取其他应用的URI权限。
对第三方应用不可用。

GET_APP_OPS_STATS

签名|专用|开发

-

允许应用收集应用操作统计信息。
对第三方应用不可用。

GET_DETAILED_TASKS

签名

-

允许应用读取任务详细。

GET_INTENT_SENDER_INTENT

签名

-

允许应用调用PendingIntent.getIntent()。

GET_PASSWORD

签名

-

允许取得用户的密码。

GET_PROCESS_STATE_AND_OOM_SCORE

签名|专用|开发

-

允许应用查询进程状态和当前OOM调整分数。
对第三方应用不可用。

GET_TOP_ACTIVITY_INFO

签名

-

允许应用取得顶层Acitivty信息。
对第三方应用不可用。

GLOBAL_SEARCH_CONTROL

签名

-

允许访问全局搜索。

GRANT_RUNTIME_PERMISSIONS

签名|安装|验证

-

允许应用授予特定权限。

HARDWARE_TEST

签名

-

访问硬件辅助设备,用于硬件测试。
对第三方应用不可用。

HDMI_CEC

签名|专用

-

允许HDMI-CEC服务访问设备和配置文件。这只能由HDMI-CEC服务使用。
对第三方应用不可用。

HIDE_NON_SYSTEM_OVERLAY_WINDOWS

签名|安装

-

允许应用隐藏非系统覆盖窗口。
对第三方应用不可用。

INJECT_EVENTS

签名

-

允许访问本程序的底层事件,获取按键、轨迹球的事件流。
对第三方应用不可用。

INSTALL_GRANT_RUNTIME_PERMISSIONS

签名|安装|验证

-

允许应用请求在安装时授予某些运行时权限。

INSTALL_PACKAGE_UPDATES

签名|专用

-

允许应用安装更新。
对第三方应用不可用。

INSTALL_SELF_UPDATES

签名|专用

-

允许应用安装自我更新。
对第三方应用不可用。

INTENT_FILTER_VERIFICATION_AGENT

签名|专用

-

允许过滤Intent。

INTERACT_ACROSS_USERS_FULL

签名|安装

-

允许应用与用户互动。

INTERACT_ACROSS_USERS

签名|专用|开发

-

允许应用与用户互动。
对第三方应用不可用。

INTERNAL_DELETE_CACHE_FILES

签名

-

允许应用删除缓存文件。

INTERNAL_SYSTEM_WINDOW

签名

-

允许应用打开系统用户界面。
对第三方应用不可用。

INVOKE_CARRIER_SETUP

签名|专用

-

允许应用调用载波设置流。
对第三方应用不可用。

KILL_UID

签名|installer

-

允许应用杀死UID。
对第三方应用不可用。

LAUNCH_TRUST_AGENT_SETTINGS

签名|专用

-

允许应用启动信任代理设置活动。

LOCAL_MAC_ADDRESS

签名|专用

-

允许读取Wifi和蓝牙的MAC地址。

LOCATION_HARDWARE

签名|专用

18

允许应用使用硬件位置功能,如地理围栏API。
对第三方应用不可用。

LOOP_RADIO

签名|专用

-

允许应用访问循环无线电设备。

MANAGE_ACTIVITY_STACKS

签名|专用|开发

-

允许应用管理Activity堆栈。

MANAGE_APP_OPS_MODES

签名|安装|验证

-

允许更新用户应用操作模式。
对第三方应用不可用。

MANAGE_APP_OPS_RESTRICTIONS

签名|安装

-

允许更新用户应用操作限制。
对第三方应用不可用。

MANAGE_APP_TOKENS

签名

-

允许应用在窗口管理器中管理应用Tokens。

MANAGE_AUDIO_POLICY

签名

-

允许音频策略管理。

MANAGE_AUTO_FILL

签名

-

允许应用管理自动填充会话。
对第三方应用不可用。

MANAGE_BIND_INSTANT_SERVICE

签名

-

允许管理系统是否可以绑定到即时应用提供的服务。

MANAGE_BLUETOOTH_WHEN_PERMISSION_REVIEW_REQUIRED

签名

-

允许在权限检查模式下对蓝牙状态进行内部管理。
对第三方应用不可用。

MANAGE_CA_CERTIFICATES

签名|专用

-

允许应用安装/卸载CA凭证。

MANAGE_CAMERA

签名

-

允许对摄像头框架进行内部管理。

MANAGE_CARRIER_OEM_UNLOCK_STATE

签名|专用

-

允许读取和启用/禁用运营商状态允许的OEM解锁。
对第三方应用不可用。

MANAGE_DEVICE_ADMINS

签名|专用

-

允许以管理员身份添加/删除其他应用。
对第三方应用不可用。

MANAGE_FINGERPRINT

签名|专用

-

允许应用管理指纹模板。

MANAGE_IPSEC_TUNNELS

签名|应用

-

允许应用创建管理IPsec通道。
仅对授权应用可用。

MANAGE_LOWPAN_INTERFACES

签名|专用

-

允许应用注册/卸载LoWPAN。
对第三方应用不可用。

MANAGE_MEDIA_PROJECTION

签名

-

允许应用程序投影会话。
对第三方应用不可用。

MANAGE_NETWORK_POLICY

签名

-

允许应用管理网络策略。

MANAGE_NOTIFICATIONS

签名

-

允许修改“勿扰”规则和策略。

MANAGE_PROFILE_AND_DEVICE_OWNERS

签名

-

允许应用管理个人资料和设备所有者。

MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS

签名

-

允许应用更改用户授予或拒绝的作用域访问目录请求的状态。
对第三方应用不可用。

MANAGE_SENSORS

签名

-

允许对传感器框架进行内部管理。

MANAGE_SLICE_PERMISSIONS

签名

-

允许SysUI管理用户授权。

MANAGE_SOUND_TRIGGER

签名|专用

-

允许访问声音触发API。

MANAGE_SUBSCRIPTION_PLANS

签名|专用

-

允许应用管理运营商订阅计划。

MANAGE_USB

签名|专用

-

允许应用管理USB设备的首选项和权限。

MANAGE_USER_OEM_UNLOCK_STATE

签名|专用

-

允许读取和启用/禁用用户状态允许的OEM解锁。
对第三方应用不可用。

MANAGE_USERS

签名|专用

-

允许应用管理用户。
对第三方应用不可用。

MANAGE_VOICE_KEYPHRASES

签名|专用

-

允许应用注册Hotword.
对第三方应用不可用。

MANAGE_WIFI_WHEN_PERMISSION_REVIEW_REQUIRED

签名

-

允许在权限检查模式下对Wi-Fi连接状态进行管理。
对第三方应用不可用。

MODIFY_ACCESSIBILITY_DATA

签名

-

允许应用修改其他应用的辅助功能。

MODIFY_APPWIDGET_BIND_PERMISSIONS

签名|专用

-

允许应用访问AppWidgets。

MODIFY_AUDIO_ROUTING

签名|专用

-

允许应用修改音频路由和覆盖策略。
对第三方应用不可用。

MODIFY_CELL_BROADCASTS

签名|专用

-

允许应用通过内容提供程序修改单元广播。
对第三方应用不可用。

MODIFY_DAY_NIGHT_MODE

签名|专用

-

允许修改夜晚模式。

MODIFY_PARENTAL_CONTROLS

签名|专用

-

允许应用修改家长控制。
对第三方应用不可用。

MODIFY_QUIET_MODE

签名|专用

-

允许应用打开/关闭静音模式。
对第三方应用不可用。

MODIFY_THEME_OVERLAY

签名

-

允许应用覆盖正在使用的主题。
对第三方应用不可用。

MOVE_PACKAGE

签名|专用

-

允许应用移动已安装包的位置。

NET_ADMIN

签名

-

允许访问配置网络接口、配置/使用IPSec等。

NET_TUNNELING

签名

-

允许低级别访问tun tap驱动程序。

NETWORK_BYPASS_PRIVATE_DNS

签名

-

允许应用绕过专用DNS。
对第三方应用不可用。

NETWORK_SETTINGS

签名

-

允许应用设置和SystemUI调用网络服务。
对第三方应用不可用。

NETWORK_SETUP_WIZARD

签名|设置

-

允许设置向导调用网络服务。
对第三方应用不可用。

NETWORK_STACK

签名

-

允许应用访问网络堆栈服务。
对第三方应用不可用。

NFC_HANDOVER_STATUS

签名|专用

-

允许从WiFi和蓝牙发送和接收切换传输状态。

NOTIFICATION_DURING_SETUP

签名|专用

-

允许应用在设置设备之前显示通知。
对第三方应用不可用。

NOTIFY_PENDING_SYSTEM_UPDATE

签名|专用

-

允许系统更新服务通知设备所有者挂起的更新。
对第三方应用不可用。

NOTIFY_TV_INPUTS

签名|专用

-

允许应用通过发送广播通知电视输入。
对第三方应用不可用。

OBSERVE_APP_USAGE

签名|专用

-

允许应用观察应用的使用时间。

OBSERVE_GRANT_REVOKE_PERMISSIONS

签名|专用

-

允许应用观察权限更改。

OEM_UNLOCK_STATE

签名

-

允许启用/禁用OEM解锁。
对第三方应用不可用。

OPEN_APPLICATION_DETAILS_OPEN_BY_DEFAULT_PAGE

签名

-

允许应用直接打开详细屏幕内的“默认”页面。
对第三方应用不可用。

OVERRIDE_WIFI_CONFIG

签名|专用

-

允许应用修改任何WiFi配置。
对第三方应用不可用。

PACKAGE_VERIFICATION_AGENT

签名|专用

-

包验证程序必要。

PACKET_KEEPALIVE_OFFLOAD

签名|专用

-

允许系统应用访问硬件包卸载功能。

PEERS_MAC_ADDRESS

签名|设置

-

允许访问Wifi和蓝牙配对设备的MAC地址。

PERFORM_CDMA_PROVISIONING

签名|专用

-

允许应用执行CDMA OTA配置

PERFORM_SIM_ACTIVATION

签名|专用

-

允许应用激活SIM。

PROVIDE_RESOLVER_RANKER_SERVICE

签名|专用

-

允许应用扩展ResolverRankerService。

PROVIDE_TRUST_AGENT

签名|专用

-

允许应用提供信任代理。

QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT

签名

-

允许应用查询DO_NOT_ASK_CREDENTIALS_ON_BOOT的应用。

QUERY_TIME_ZONE_RULES

签名|专用

-

允许应用查询当前时区规则。

READ_BLOCKED_NUMBERS

签名

-

允许读取被拦截号码。

READ_CONTENT_RATING_SYSTEMS

签名|专用

-

允许应用读取TvContentRatingSystemInfo。
对第三方应用不可用。

READ_DREAM_STATE

签名|专用

-

允许应用读取休眠设置。

READ_INSTALL_SESSIONS

正常

-

允许应用读取安装会话。
对第三方应用不可用。

READ_LOWPAN_CREDENTIAL

签名|专用

-

允许应用读取LoWPAN凭证。
对第三方应用不可用。

READ_NETWORK_USAGE_HISTORY

签名|专用

-

允许应用读取特定网络和历史使用情况。

READ_OEM_UNLOCK_STATE

签名|专用

-

允许读取OEM解锁状态。
对第三方应用不可用。

READ_PRECISE_PHONE_STATE

签名|专用

-

允许只读访问精确的电话状态。

READ_PRINT_SERVICE_RECOMMENDATIONS

签名|预安装

-

允许应用获取当前推荐的打印服务。

READ_PRINT_SERVICES

签名|预安装

-

允许应用获取已安装和启用的打印服务。

READ_PRIVILEGED_PHONE_STATE

签名|专用

-

允许读取专用电话状态。
对第三方应用不可用。

READ_RUNTIME_PROFILES

签名|专用

-

允许应用读取其他应用的运行时配置文件。
对第三方应用不可用。

READ_SEARCH_INDEXABLES

签名|专用

-

允许应用读取可索引数据。

READ_SYSTEM_UPDATE_INFO

签名

-

允许应用读取系统更新信息。

READ_WALLPAPER_INTERNAL

签名|专用

-

允许应用读取系统壁纸图片。
对第三方应用不可用。

READ_WIFI_CREDENTIAL

签名|专用

-

允许应用读取Wi-Fi凭证。
对第三方应用不可用。

REAL_GET_TASKS

签名|专用

-

允许应用使用新版本GET_TASKS。

RECEIVE_BLUETOOTH_MAP

签名|专用

-

允许应用监视传入的蓝牙地图信息。

RECEIVE_DATA_ACTIVITY_CHANGE

签名|专用

-

RECEIVE_EMERGENCY_BROADCAST

签名|专用

-

允许应用接收紧急蜂窝广播消息。
对第三方应用不可用。

RECEIVE_MEDIA_RESOURCE_USAGE

签名|专用

-

允许接收媒体资源的使用。

RECEIVE_STK_COMMANDS

签名|专用

-

允许应用接收STK相关的命令。

RECEIVE_WIFI_CREDENTIAL_CHANGE

签名|专用

-

允许系统应用接收WiFi凭证更改广播。
对第三方应用不可用。

RECOVER_KEYSTORE

签名|专用

-

允许应用管理RecoveryController。
对第三方应用不可用。

RECOVERY

签名|专用

-

允许应用还原系统。

REGISTER_CALL_PROVIDER

签名|专用

-

允许应用注册通话提供者。

REGISTER_CONNECTION_MANAGER

签名|专用

-

允许应用注册连接管理。

REGISTER_SIM_SUBSCRIPTION

签名|专用

-

允许应用注册SIM订阅。

REGISTER_WINDOW_MANAGER_LISTENERS

签名

-

允许从窗口管理器注册事件的侦听器。

REMOTE_AUDIO_PLAYBACK

签名

-

允许注册远程音频播放。

REMOVE_DRM_CERTIFICATES

签名|专用

-

允许应用移除DRM凭证。
对第三方应用不可用。

REMOVE_TASKS

签名

-

允许应用删除任务。

REQUEST_NETWORK_SCORES

签名|设置

-

允许应用从NetworkScoreService请求网络建议和分数。
对第三方应用不可用。

RESET_FINGERPRINT_LOCKOUT

签名

-

允许应用重置指纹尝试计数器。

RESET_SHORTCUT_MANAGER_THROTTLING

签名

-

允许应用重置快捷方式。

RESTRICTED_VR_ACCESS

签名|预安装

-

允许访问VR-API。

RETRIEVE_WINDOW_CONTENT

签名|专用

-

允许应用检索活动窗口的内容。

RETRIEVE_WINDOW_TOKEN

签名

-

允许应用从辅助功能管理器检索窗口令牌。

REVOKE_RUNTIME_PERMISSIONS

签名|安装|验证

-

允许应用撤消特定权限。

RUN_IN_BACKGROUND

签名

-

允许应用在后台运行。

SCORE_NETWORKS

签名|专用

-

允许应用程序充当网络记分员。

SEND_EMBMS_INTENTS

签名|专用

-

允许应用发送EMBMS下载信息。

SEND_SHOW_SUSPENDED_APP_DETAILS

签名

-

允许应用发送显示挂起应用详细。
对第三方应用不可用。

SEND_SMS_NO_CONFIRMATION

签名|专用

-

允许应用在用户未确认一下发送短码消息。
对第三方应用不可用。

SERIAL_PORT

签名|专用

-

允许应用通过SerialManager访问串行端口。

SET_ACTIVITY_WATCHER

签名

-

允许应用监视和控制如何在系统中全局启动活动。

SET_DISPLAY_OFFSET

签名|专用

-

允许应用设置屏幕的显示偏移。
对第三方应用不可用。

SET_HARMFUL_APP_WARNINGS

签名|verifier

-

允许应用将其他应用标记为有害。

SET_INPUT_CALIBRATION

签名

-

设置输入校准。
对第三方应用不可用。

SET_KEYBOARD_LAYOUT

签名

-

设置键盘布局。
对第三方应用不可用。

SET_MEDIA_KEY_LISTENER

签名|专用|开发

-

允许应用设置媒体密钥事件侦听器。

SET_ORIENTATION

签名

-

设置横屏。
对第三方应用不可用。

SET_POINTER_SPEED

签名

-

设置点击速度。
对第三方应用不可用。

SET_SCREEN_COMPATIBILITY

签名

-

允许应用更改屏幕兼容性模式。

SET_VOLUME_KEY_LONG_PRESS_LISTENER

签名|专用|开发

-

允许应用设置音量键长按监听器。

SET_WALLPAPER_COMPONENT

签名|专用

-

允许应用设置实时壁纸。

SHOW_KEYGUARD_MESSAGE

签名|专用

-

允许应用解除键盘上的信息。

SHUTDOWN

签名|专用

-

允许关机。

START_ANY_ACTIVITY

签名

-

允许应用启动任何Activity。

START_TASKS_FROM_RECENTS

签名|专用

-

允许应用启动任务。

STATSCOMPANION

签名

-

允许应用管理statcomponent。
对第三方应用不可用。

STATUS_BAR_SERVICE

签名

-

允许应用成为状态栏。

STOP_APP_SWITCHES

签名|专用

-

允许应用停止应用程序切换。

STORAGE_INTERNAL

签名

-

内部存储。

SUBSTITUTE_NOTIFICATION_APP_NAME

签名|专用

-

允许应用替换N以上版本中旁边通知的应用名称。
对第三方应用不可用。

SUSPEND_APPS

签名|专用

-

允许应用挂起其他应用。

TABLET_MODE

签名

-

允许应用查询Tablet模式状态并监视更改。
对第三方应用不可用。

TEMPORARY_ENABLE_ACCESSIBILITY

签名

-

允许应用临时启用可访问性。

TEST_BLACKLISTED_PASSWORD

签名

-

允许测试管理员是否禁止密码。
对第三方应用不可用。

TETHER_PRIVILEGED

签名|专用

-

允许应用更改捆绑状态并捆绑运营商。
对第三方应用不可用。

TRIGGER_TIME_ZONE_RULES_CHECK

签名

-

允许应用修改时区规则。
确保只有系统可以绑定到它。

TRUST_LISTENER

签名

-

允许应用侦听信任更改。

TV_INPUT_HARDWARE

签名|专用

-

允许TvInputService访问基础的电视输入硬件。

TV_VIRTUAL_REMOTE_CONTROLLER

签名|专用

-

电视的虚拟遥控器必要。
对第三方应用不可用。

UNLIMITED_SHORTCUTS_API_CALLS

签名|文本分类器

-

允许无限制地调用快捷方式变异API。

UPDATE_APP_OPS_STATS

签名|专用|安装

-

允许更新应用操作统计信息。
对第三方应用不可用。

UPDATE_CONFIG

签名|专用

-

允许应用启动配置更新。

UPDATE_LOCK_TASK_PACKAGES

签名|设置

-

允许应用在锁定任务模式期间白名单任务。
对第三方应用不可用。

UPDATE_LOCK

签名|专用

-

允许应用持有一个UpdateLock。

UPDATE_TIME_ZONE_RULES

签名|专用

-

允许应用请求系统安装/卸载时区规则。

USE_COLORIZED_NOTIFICATIONS

签名|设置

-

允许应用着色通知。
对第三方应用不可用。

USE_DATA_IN_BACKGROUND

签名

-

允许应用在后台使用数据。

USE_RESERVED_DISK

签名|专用

-

允许应用使用保留的磁盘空间。
对第三方应用不可用。

USER_ACTIVITY

签名|专用

-

允许访问PowerManager.userActivity。
对第三方应用不可用。

VIEW_INSTANT_APPS

签名|预安装

-

允许查看设备上的即时应用。

WATCH_APPOPS

签名

-

允许应用监视更改 和/或 活动状态。
对第三方应用不可用。