Android13 授予第三方应用默认运行权限

一、前言

       Android系统在6.0版本之后,对于第三方应用的权限都需要动态申请,所有系统安装的第三方应用,在app首次运行时,会弹出授权弹框,需要用户手动去授予运行权限,对用户的体验可能不是很友好,在Android系统产品开发过程中,客户一般对内置的第三方应用会有默认授予运行权限的需求。本文只要针对Android13介绍授予第三方应用默认运行权限。

二、修改路径:frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java

diff --git a/frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java b/frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java
--- a/frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java
+++ b/frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java
@@ -208,12 +208,10 @@ public final class Permission {
     }

     public boolean isNormal() {
-        return (mPermissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE)
-                == PermissionInfo.PR
### 关于 Android 11 中第三方应用录音权限默认行为 在 Android 11 中,默认情况下,系统并不会自动向任何第三方应用授予录音权限(即 `RECORD_AUDIO` 权限)。这是因为该权限被分类为“危险”权限组的一部分[^3]。对于所有标记为“危险”的权限Android 系统要求开发者遵循运行权限机制来显式请求用户的授权。 如果开发者的应用目标 SDK 版本为 Android 6.0 (API Level 23) 或更高版本,则必须通过调用 `ActivityCompat.requestPermissions()` 方法或其他类似的框架功能手动请求此类权限。这意味着即使用户已经安装了某个应用,除非他们主动批准相应的权限请求对话框,否则无法访问麦克风资源。 此外需要注意的是,在某些特殊场景下,比如当设备处于特定模式或者满足其他条件时,可能会改变这种默认行为。然而就一般情况而言,没有任何预设配置能够使得未经明确同意便获得录制音频的能力成为可能[^1]。 为了实现更精细控制以及提升用户体验满意度,建议采取如下措施: - **优化权限请求流程**:仅在必要时刻才发起敏感操作所需的许可申请,并提供清晰理由说明为何需要这项能力。 - **处理拒绝情形**:设计合理的逻辑应对可能出现的多次连续否定响应状况;例如引导重新考虑决定或是降级服务等级等功能选项。 下面展示了一个简单的例子演示如何正确地去寻求并验证是否已得到允许使用麦克风的权利: ```java if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions( this, new String[]{Manifest.permission.RECORD_AUDIO}, MY_PERMISSIONS_REQUEST_RECORD_AUDIO); } else { startRecording(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值