Android 权限(一):权限大全

这篇具有很好参考价值的文章主要介绍了Android 权限(一):权限大全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

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

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

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

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

2. 权限类型

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

2.1 安装时权限

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

android 权限,Android Framework,Andorid权限

 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  使用相同的证书签名时,系统才会向应用授予签名权限。   怎么理解这句话呢? 

android 权限,Android Framework,Andorid权限

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 应用

android 权限,Android Framework,Andorid权限

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

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

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

2.2  运行时权限

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

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

android 权限,Android Framework,Andorid权限

    <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" />

android 权限,Android Framework,Andorid权限

    <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)。如需向应用授予特殊权限,用户必须转到此页面:设置 > 应用 > 特殊应用权限

android 权限,Android Framework,Andorid权限

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

android 权限,Android Framework,Andorid权限

 【备注】: 与运行时权限不同,用户必须从系统设置中的特殊应用权限页面授予特殊权限。应用可以使用 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 运行时(危险)权限

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

android 权限,Android Framework,Andorid权限

 再详细说明一下:

权限组: 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 签名 - 允许应用监视更改 和/或 活动状态。
对第三方应用不可用。

以上权限都有中文注释和说明,供查阅!文章来源地址https://www.toymoban.com/news/detail-781087.html

到了这里,关于Android 权限(一):权限大全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Android】Android Framework系列---CarPower深度睡眠STR

    之前博客说了CarPower的开机启动流程 这里分析一下,Android CarPower实现深度睡眠的流程。 首先, 什么是深度睡眠(Deep Sleep) ? Android进入Deep Sleep后, 关闭屏幕、关闭CPU的电源,保持RAM的电源(激活状态) 。深度睡眠会进行 Suspend-to-RAM 挂起到内存( 做车载的经常会听到的STR )。

    2024年02月05日
    浏览(41)
  • Android Framework层开发

    查看源码工具: SourceInsight Instrumentation :可以理解为ActivityThread的一个工具类,在ActivityThread中初始化,一个进程只存在一个Instrumentation对象,在每个Activity初始化时,会通过Activity的Attach方法,将该引用传递给Activity。Activity所有生命周期的方法都有该类来执行。 Init进程(pi

    2024年02月04日
    浏览(45)
  • Android Framework基础面试篇~

    在Android应用开发面试中,针对Framework的问题是常被考察的。以下是一些常见的Framework金典面试题目及其详解: 1. 什么是Android应用生命周期?你能描述一下它包含哪几个阶段吗? Android应用生命周期指的是应用从启动到关闭的整个过程。 它包括以下四个阶段: onCreate(创建)

    2024年02月10日
    浏览(47)
  • 【Android Framework (八) 】- Service

    1,挂载文件系统,创建文件目录 调用selinux_setup权限安全相关 2,初始化内存空间 初始化属性服务 创建Epoll 注册监听子进程重启异常操作等,对子进程进行线程守护 3,startPropertyServic 开启属性服务 进行监听 4,LoadBootScripts 加载init.rc文件 进行解析 调用do_class_start 文件开启

    2024年02月01日
    浏览(38)
  • Android Framework 之 启动流程

    Android 系统的启动流程 Android 系统的启动流程可以分为以下几个主要步骤: 引导加载器(Bootloader)启动 :当你打开一个 Android 设备时,首先启动的是引导加载器。引导加载器负责启动 Android 的核心操作系统。 Linux 内核启动 :引导加载器加载并启动 Linux 内核。Linux 内核负责

    2024年02月14日
    浏览(37)
  • Android Framework基础知识

    哈喽大家好,我是Zzz. 给大家分享一篇Framework入门的基础知识文章,内容纯纯原创。 一、Application,Activity和进程的关系?     Application、Activity只是进程虚拟机运行的一个类对象,只是属于系统的一个组件和进程没有直接联系。Android支持为每个组件可以单独进程方式运行。

    2024年03月24日
    浏览(40)
  • Android Framework 之 SystemServer

    SystemServer是Android系统中的一个核心组件,负责启动和管理许多重要的系统服务。它的启动过程相对复杂,包含以下主要步骤: Zygote启动SystemServer :在Android系统启动过程中,Zygote进程会通过fork操作创建一个新的进程,并在这个新的进程中启动SystemServer。 加载并执行SystemSer

    2024年02月14日
    浏览(37)
  • Android Framework 之 ServiceManager

    ServiceManager 在 Android 系统中扮演了核心的角色。主要负责跨进程通信(IPC)的管理和服务的注册与查找。 管理系统服务 : ServiceManager 提供一个全局的服务注册表,用于存储所有的系统服务。一个服务一旦被注册到 ServiceManager,其他的进程就可以通过 **ServiceManager **来访问这

    2024年02月14日
    浏览(42)
  • Android Framework 之 Zygote

    Android Zygote 是 Android 操作系统中一个关键的系统服务,它在系统启动时加载,为应用程序的运行提供了一种快速且资源高效的方式。 Zygote 的主要作用如下: 预加载共享库和类 :Zygote 启动时,会预先加载 Android 系统中所有应用程序共享的库和类,例如 Android Runtime,标准 Ja

    2024年02月14日
    浏览(35)
  • Android Framework | AOSP源码下载及编译指南(基于Android13)

    AOSP(Android Open Source Project)是Android操作系统的开源项目,通过下载和编译AOSP源码,您可以获得原始的Android系统,并进行定制和开发。本教程将向您介绍如何下载AOSP源码并进行编译的步骤。 如何只是浏览查看AOSP源码,则没必要下载源码,可以使用google提供的Code Search工具进

    2024年01月16日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包