Android默认开启应用权限 不弹窗

Android13通知运行时权限 Android 13(API 级别 33)及更高版本支持用于从应用发送非豁免(包括前台服务 [FGS])通知的运行时权限:POST_NOTIFICATIONS。此更改有助于用户专注于最重要的通知。 阅读详情

问题描述

系统预装APK和后安装的APK,默认全部打开应用,不弹窗提醒!,不弹窗提醒!,不弹窗提醒!。

解决方法

1、系统预装应用

W:\Code\RK3399PRO_HDMI_ANDROID8\frameworks\base\services\core\java\com\android\server\pm\DefaultPermissionGrantPolicy.java文件内的

private void grantDefaultSystemHandlerPermissions(int userId)

方法中增加如下代码:

        synchronized (mService.mPackages) {
            //以下代码为增加的部分
            PackageParser.Package EV_DesktopPckg = getPackageLPr( "com.example.desktop");
            if (EV_DesktopPckg != null) {
                grantRuntimePermissionsLPw(EV_DesktopPckg, MICROPHONE_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, STORAGE_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, CONTACTS_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, PHONE_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, CALENDAR_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, CAMERA_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, LOCATION_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, SENSORS_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, SMS_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_DesktopPckg, STORAGE_PERMISSIONS, true, userId);
            }
            PackageParser.Package EV_WebViewTestPckg = getPackageLPr( "com.example.webviewtest");
            if (EV_WebViewTestPckg != null) {
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, MICROPHONE_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, STORAGE_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, CONTACTS_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, PHONE_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, CALENDAR_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, CAMERA_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, LOCATION_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, SENSORS_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, SMS_PERMISSIONS, true, userId);
                grantRuntimePermissionsLPw(EV_WebViewTestPckg, STORAGE_PERMISSIONS, true, userId);
            }

说明:如果有其它预装应用程序,以此类推

2、后安装的应用

在W:\Code\RK3399PRO_HDMI_ANDROID8\frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java的

private void handlePackagePostInstall(PackageInstalledInfo res, boolean grantPermissions,
            boolean killApp, boolean virtualPreload, String[] grantedPermissions,
            boolean launchedForRestore, String installerPackage,
            IPackageInstallObserver2 installObserver)

其中部分代码修改如下即可

            // Now that we successfully installed the package, grant runtime
            // permissions if requested before broadcasting the install. Also
            // for legacy apps in permission review mode we clear the permission
            // review flag which is used to emulate runtime permissions for
            // legacy apps.
			if(true
            //if (grantPermissions
			// || 
				// res.name.equals("com.example.desktop") || 
				// res.name.equals("com.example.webviewtest") || 
				// res.name.equals("com.example.desktop")
				) {
                grantRequestedRuntimePermissions(res.pkg, res.newUsers, grantedPermissions);
            }

源码中默认的为grantPermissions,可根据需求增加自己的应用,该修改为所有应用都打开权限

Android 9 平台

在Android 9平台上,权限结构已改变,除以上修改外,还要加上以下修改:

在frameworks\base\services\core\java\com\android\server\pm\permission\PermissionManagerService.java文件内,修改

private void grantPermissions(PackageParser.Package pkg, boolean replace,
            String packageOfInterest, PermissionCallback callback)

函数部分为:

增加如下:

if (bp != null && permissionsState.grantInstallPermission(bp) !=
                PermissionsState.PERMISSION_OPERATION_FAILURE) {
                    changedInstallPermission = true;
                }

意为:只要要获取的权限没啥问题,就通过!changedInstallPermission = true;

以上方法针对危险权限((Dangerous Permission)),但还有其他系统权限权限想要默认开启无法用此方法。

PACKAGE_USAGE_STATS权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DPfPjPxn-1596591316696)(https://s1.ax1x.com/2020/08/05/arVShR.png)]

​ 该权限可使应用统计其他应用使用情况,想要默认开启

​ 先在AndroidMainfests.xml中增加

    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"
        tools:ignore="ProtectedPermissions" />

​ 再使用ADB命令开启

pm grant com.example.hello android.permission.PACKAGE_USAGE_STATS

WRITE_SETTINGS权限

​ 该权限可用于修改系统设置,如修改系统亮度等。

​ 需要默认开启该权限,需使用系统签名

​ 先在AndroidMainfests.xml中增加

<uses-permission android:name="android.permission.WRITE_CONTACTS" />

​ 和

android:sharedUserId="android.uid.system"

​ 再在该预装应用的Android.mk中增加如下

LOCAL_CERTIFICATE := platform

最后编译系统烧录固件即可。

解决Android 存储权限申请不弹出窗口的问题 摘要:针对Android 11+版本中WRITE_EXTERNAL_STORAGE权限失效的问题,本文提出分级处理方案:1) Android 11+使用MANAGE_EXTERNAL_STORAGE权限并引导用户至设置页面;2) Android 6.0-10沿用传统权限请求机制。核心解决方案包括创建StoragePermissionHelper工具类实现版本适配,优先推荐应用专属存储目录(无需权限),同时提供MediaStore API作为替代方案。对于需要同时处理相机、录音等多权限的场景,增强版Enhan 阅读详情

相关推荐

【FAQ】【弹窗问题】关于后台弹窗问题

为保护用户使用华为手机过程中,不受三方应用随意后台弹窗打扰。我们增加了“后台弹窗”权限,该权限关闭时应用在后台弹出界面的能力会受到限制,除非用户手动授予该权限给应用。后台弹窗权限开关默认为拒绝,拒绝时应用无法在后台时弹出界面。2、对于业务上必须具有在后台时弹出界面的应用,例如闹钟类、运动类、电话类等类型,您可以提醒用户去权限设置里手动开启后台弹窗权限开关,可联系相关负责人邮箱:hwthirdparty@huawei.com。欲了解更多更全技术文章,欢迎访问。

华为开发者联盟 9486

android13(T) 三方APP默认授权

按照以往经验修改给三方apk权限全开,发现13上坑不少。PermissionController 仅仅只是一个普通app,就和在AS中直接编写一样,完全用不了一些hide api,尝试修改了几次 android.bp 文件没有任何效果,引入核心api编译依旧报错。那只好曲线救国了,最终通过aidl方式搞定。引用不到相关api已经注释,采用aidl调用。监听apk安装替换、卸载、重装广播直接赋权。添加系统签名,为了在广播中直接启动服务。

cczhengv 6359

Android 11.0 默认开启USB调试功能

Android 11.0 默认开启USB调试功能。重新编译验证,修改生效,已默认开启USB调试功能。

Jeffries_C的博客 3059

[QCM6125][Android13] 默认授予所有应用运行时权限

中声明,还需要在JAVA文件中进行动态申请权限。而对于我们这种智能硬件设备,客户应用几乎都是霸屏并且具有系统签名的高权限应用,这时候运行权限机制就显得有点多余;所以一般我们拿到一套新的代码,除了与支付相关或者一些认证相关,例如GMS认证等特殊设备,正常都是会默认授予应用运行时权限以及开发SELinux权限。Android6.0以上增加了运行时权限,应用要想使用例如相机、存储等权限,除了在。

小小码农 2008

Android13 默认授权APP,不显示运行时授权弹框

Android13 默认授权APP,不显示运行时授权弹框。

m0_60898338的博客 2944

Android 13.0 第三方app安装完成后默认授予运行时权限

在13.0的系统产品开发中,在6.0以后的系统中,对于权限都是动态申请的,所有在系统安装第三方app后,app在首次运行时,会弹出授权窗口, 会要求用户手动授予app运行时权限,在由于系统产品开发需要要求默认授予第三方app安装完成后,默认授予app的运行时权限,这样就不会弹窗 授权app权限,所以需要在安装app完成后授予app的所有运行时权限

安卓兼职framework和app工程师的博客 3196

android 默认勾选权限_Android 默认打开应用权限

问题描述系统预装APK和后安装的APK,默认全部打开应用,不弹窗提醒!,不弹窗提醒!,不弹窗提醒!。解决方法1、系统预装应用W:\Code\RK3399PRO_HDMI_ANDROID8\frameworks\base\services\core\java\com\android\server\pm\DefaultPermissionGrantPolicy.java文件内的private void...

weixin_39793553的博客 1005

android 12.0 去掉未知来源弹窗 默认授予安装未知来源权限

在12.0的系统产品开发中,对于安装第三方app也是常有的功能,但是由于需要未知来源权限,不然会弹出未知来源权限弹窗,授权后才会继续安装app,这里显得有点麻烦,所以产品需要默认授予未知来源权限。

安卓兼职framework和app工程师的博客 2257

Android 解决通知不显示

我手机系统是Android 10,模拟器是Android 14。Android 14 通过申请权限并同意后可以发送通知;但 Android 10无法弹出权限申请弹窗,导致无法发送通知。关于通知你需要了解的:Android 8.0 引入了通知渠道Android 13 开始发送通知需要申请通知权限。所以我的问题是 Android 13 版本下 无法弹出申请权限对话框,对话框如下图所示。

gangtiexia003的博客 631

DeepSeek助力学术审稿:高效处理审稿意见的实用提示词指南

本文介绍如何利用DeepSeek AI工具高效处理学术审稿意见,提供实用的提示词指南。从评审意见结构化整理到争议问题回应策略,详细解析AI在加速审稿流程中的应用技巧,帮助研究者大幅提升回复效率和质量。

weixin_28684497的博客 596

抖音Web端私信Protobuf逆向解析实战

本文详细解析了抖音Web端私信通信的逆向过程,发现其核心采用WebSocket传输Protobuf序列化数据。通过抓包获取二进制样本,利用protoc工具进行原始解码,并逐步推导和编写出对应的.proto协议定义文件,最终实现模拟消息的编码与解码,为理解私有协议逆向提供了完整实战案例。

water的专栏 761

android 启动第三方应用的权限,Android系统 给第三方应用(system/app) 运行时权限默认开启(不会弹授予权限窗口)...

将第三方的应用放到系统预装进去,即放到Y:\project2\android6_msm8909_ok\packages\ET031 ,添加Android.mk;然后更改下文frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 类是对默认权限管理类可以查看grantDef...

weixin_30977095的博客 1797

Centos7.9上安装glibc2.28遇到/usr/bin/ld: cannot find -lnss_test2问题

Centos7.9安装glic2.28遇到-lnss_test2问题及解决方案。

freflying1119的博客 2898

Android 给 app默认权限(不弹窗申请权限)

1.系统app 系统app的权限默认开启,大家应该都知道是修改DefaultPermissionGrantPolicy.java。 frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 在grantDefaultSystemHandlerPermissions中可以...

wang 恒 的博客 1万+

RK3588上rknn_toolkit_lite2报错解决:手把手教你更新librknnrt.so的正确姿势

本文针对在RK3588平台上使用rknn_toolkit_lite2时遇到的“Invalid RKNN model version”等常见错误,提供了完整的诊断与解决方案。文章深入剖析了RKNN生态系统各组件(如librknnrt.so、RKNN Server)版本不兼容的根源,并手把手指导如何安全、正确地更新librknnrt.so运行时库,确保AI模型在RK3588 NPU上实现高效推理。

weixin_29189003的博客 520

IO Virtualization with Virtio.part 2 [十三]

通过对virtio_device_id 中的 device 和 vendor 的值进行比较,我们找到对应的 virtio 驱动,由于这里我们使用 i2c virtio 为例,所以调用 virtio_i2c_probe 进行 virtio i2c 设备的初始化。在和 virtio mmio 设备交互时我们会读取 VIRTIO_MMIO_DEVICE_ID 和 VIRTIO_MMIO_VENDOR_ID,并将其值写入 virtio_device_id 中,这个就会用作后面和 virtio 设备驱动的匹配参数。

cxjczy1990的博客 1211

高通Android 12默认授权 不弹出投屏弹窗

question2 这个有点经验老司机肯定知道了,在我们linux下面是二个搜索大佬,一个find 另外一个就是grep 如果不知道这个请自行百度,因为小弟我也不知道啊,经过漫长的等待 出现一些画面如下图所示 是不是很惊喜?4、感觉上面写法不友好有以下二个缺点,大家可以想下这样是可以默认授权,并且重启之后老化界面弹窗消失,但是由于Android系统厂商碎片化,所以还是建议根据mPackageName去过滤这样方式更保险,伪代码高级版 如下。解决方式 既然不弹,那么android默认权限授予,伪代码如下。

郑敏 3183

手把手教你学Simulink--基于Simulink的近端策略优化(PPO)路径规划仿真建模

本文详细介绍了如何利用Simulink进行近端策略优化(PPO)路径规划的仿真建模。首先,文章概述了PPO路径规划的特点和挑战,强调了其在连续或离散动作空间问题中的高效性和稳定性。接着,列出了所需的工具和环境,包括MATLAB/Simulink、Reinforcement Learning Toolbox等。随后,文章分步骤详细讲解了从定义任务需求到验证与分析的整个仿真建模过程,包括创建Simulink项目、集成智能体模型、构建环境模型、编写PPO路径规划逻辑、将逻辑集成到Simulink模型中以及最终的验

MHD0815的博客 165

Android系统 给第三方应用运行时权限默认开启(不会弹授予权限窗口)

一.对于单个应用 frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 类是对默认权限管理类 可以查看grantDefaultSystemHandlerPermissions 该方法,里面有就有授予权限类似方法,可以模仿 我们可以通过此类来对我们系统中存在的应用进行默认权限设置。 二.对于所有应用 /frameworks/base/services/core/java/com/an

Fortuna的博客 3469

DFT笔记 DC/AC mode与Func

DFT scan可以分为DC和AC两种,区别如下图。

m0_61544122的博客 5723

基于最小二乘法(LS)和最小均方误差(MMSE)算法的导频信道估计

导频信道估计在无线通信系统中起着至关重要的作用,它用于估计无线信道的特性,以便在接收端进行正确的信号解调和解码。最小二乘法(LS)和最小均方误差(MMSE)是两种常用的导频信道估计算法,它们在估计精度和计算复杂度之间取得了良好的平衡。首先,我们提取当前的导频符号,然后将接收到的信号与导频符号相乘得到接收导频信号。最小二乘法是一种经典的导频信道估计算法,它通过最小化接收信号与预测信号之间的均方误差来估计信道。下面将详细介绍基于LS和MMSE算法的导频信道估计,并提供相应的MATLAB代码实现。

pytorchCode的博客 679

android 相机权限_安卓用户又少了一项自由,Android 11不再支持更改默认相机程序...

萧萧 发自 凹非寺量子位 报道 | 公众号 QbitAI在微博、微信上想要拍照上传时,想直接用FaceU或美图秀秀作为默认拍照程序,给自拍加个滤镜?在即将推出的Android 11里,这些第三方相机的选择都将不复存在——谷歌大手一挥,砍掉了安卓11里第三方相机应用响应捕获图片、视频的权限,用户得使用默认相机拍照。△ 图源Android Developers也就是说,假设你在微博、微信或Q...

weixin_33304597的博客 2053

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

安卓 默认打开权限_安卓用户又少了一项自由,Android 11不再支持更改默认相机程序...

萧萧 发自 凹非寺量子位 报道 | 公众号 QbitAI在微博、微信上想要拍照上传时,想直接用FaceU或美图秀秀作为默认拍照程序,给自拍加个滤镜?在即将推出的Android 11里,这些第三方相机的选择都将不复存在——谷歌大手一挥,砍掉了安卓11里第三方相机应用响应捕获图片、视频的权限,用户得使用默认相机拍照。△ 图源Android Developers也就是说,假设你在微博、微信或QQ等社交媒...

weixin_39797264的博客 452

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

安卓 默认打开权限_安卓保护隐私,给APP一次性的权限

安卓某些 APP 偷偷获取你隐私资料是老生常谈的话题了,虽然从去年开始网信办、工业和信息化部就加大打击整治侵犯公民个人信息违法犯罪力度,组织开展 APP 违法违规采集个人信息集中整治。不过安卓 APP 数量实在太多,很难彻底整治,有些 APP 被整治后,可能换个版本号,换个软件名又继续上架了。所以有些安卓手机的系统对安全隐私这方面的保护也越来越好了,例如小米 MIUI12 里面就有空白权...

weixin_39875760的博客 558

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 旋转编码器EC11驱动
下一篇: Ubuntu18搭建Android8.1SDK开发环境
Chen...
博客等级 码龄10年 34粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值