首页
编程日记
ChatGpt专题
LINUX学习
Java学习
前端教程
单片机
web
语音识别
sqoop
正则表达式
.docx预览
matlab入门案例
xss
特此声明
ui5
资损
996
并发
渲染管线
gitee
核酸预约检测管理系统
次世代建模
pinia
比较两个宽字符串的字符
媒体
word2vec
PMS
2024/4/12 19:36:29
Android 13.0 第三方无源码apk授予QUERY_ALL_PACKAGES等其他权限的方法
1.概述 在13.0的系统产品中,对于内置第三方低版本app时,会有某些权限的冲突,导致在启动app时,崩溃掉,在查询相关日志发现是报权限的问题,所以就需要在安装解析app的时候,授予权限 2.第三方无源码apk授予QUERY_ALL_PACKAGES等其他权限的方法的核心类 /frameworks/base…
阅读更多...
Android 14.0 首次开机默认授予app运行时权限(去掉运行时授权弹窗)
1.概述 在14.0的系统rom产品定制化开发中,在6.0以后对于权限的申请,都需要动态申请,所以会在系统首次启动后,在app的首次运行时, 会弹出授权窗口,会让用户手动授予app运行时权限,在由于系统产品开发需要要求默认授予app运行时权限,不需要用户默认授予运行时弹窗,所以需…
阅读更多...
Android 中的动态应用程序图标
Android 中的动态应用程序图标 一、需求二、解决方案三、方案实现四、结论 一、需求 您可能遇到过那些可以实现巧妙技巧的应用程序 - 更改应用程序图标(也许是在您的生日那天),然后无缝切换回常规图标。这种功能会激起你的好奇心,…
阅读更多...
app设置为HomeLauncher后,如果进行adb install安装,界面会黑屏问题排查记录
一、开始以为是PMS的问题,但是读完PackageManagerService.java的安装流程后发现并不是这么回事。 其中比较重要的是freezePackageForInstall函数,app在替换原来的内容之前,会先冻住正在运行的app,然后发送kill命令到ActivityManagerService,在AMS中才会去kill掉app。而且…
阅读更多...
Android13 PMS是如何启动的?
作者:Arthas0v0 平常使用安卓实际就是在使用各种app,而下载的app实际是一个apk文件。这个apk文件的安装就交给了PackageManagerService来实现。PackageManagerService的启动也是在SystemServer中。这个过程比较长需要长一点的时间来理。 SystemServer.s…
阅读更多...
Android 9.0 pms获取应用列表时过滤掉某些app功能实现
1.前言 在9.0的系统rom定制化开发中,对系统定制的功能也是很多的,在一次产品开发中,要求在第三方app获取应用列表的时候,需要过滤掉某些app,就是不显示在app应用列表中,这就需要在pms查询app列表时过滤掉这些app就可以了,接下来就实现这些功能 2.pms获取应用列表时过滤掉…
阅读更多...
【Android Framework系列】第4章 PMS原理
1 PMS简介 PMS(PackageManagerService)是Android提供的包管理系统服务,它用来管理所有的包信息,包括应用安装、卸载、更新以及解析AndroidManifest.xml。通过解析每个安装应用的AndroidManifest.xml,将xml中的数据全部…
阅读更多...
【Android Framework系列】第10章 PMS之Hook实现广播的调用
1 前言 前面章节我们学习了【Android Framework系列】第4章 PMS原理我们了解了PMS原理,【Android Framework系列】第9章 AMS之Hook实现登录页跳转我们知道AMS可以Hook拦截下来实现未注册Activity页面的跳转,本章节我们来尝试一下HookPMS实现广播的发送。…
阅读更多...
【Android12】Android Framework系列---Adb和PMS安装apk源码流程
Adb和PMS安装apk源码流程 adb install命令 通过adb install命令可以将apk安装到Android系统(注意:特定类型的apk,比如persist类型是无法通过adb安装的) 下述命令中adb解析install命令,并调用Android PackageManagerS…
阅读更多...
圆角升级啦,来手把手一起实现自定义ViewGroup的各种圆角与背景
作者:newki 定制圆角与背景的自定义ViewGroup实现 前言 目前线上的一些第三方圆角容器大部分都只支持四周固定圆角,我们一些使用场景只需要顶部圆角,或者底部圆角,或者一个角圆角。 (话说为什么我们的UI这么喜欢各种…
阅读更多...
Android12.0首次开机默认授予app运行时权限(去掉运行时授权弹窗)第二种方法
1.概述 在12.0的系统产品开发中,在6.0以后对于权限的申请,都需要动态申请,所以会在系统首次启动后,在app的首次运行时,会弹出授权窗口,会让用户手动授予app运行时权限,在由于系统产品开发需要要求默认授予app运行时权限,不需要用户默认授予运行时弹窗,所以需要在首次开…
阅读更多...
android 13.0 通过系统自定义服务控制屏幕亮屏和灭屏操作
1.前言 在13.0的产品开发中, 需要提供亮屏和灭屏的接口在8.0以后系统对于屏幕亮灭屏做了限制,直接调用亮屏和灭屏的方法就调不到了,所有就需要通过增加自定义服务的功能,来实现 通过系统服务的方法来调用系统关于控制屏幕亮屏灭屏的相关操作 2.通过系统自定义服务控制屏幕…
阅读更多...
Android 9.0 pms中关于启动app时获取app的ActivityInfo信息相关源码分析
1.前言 在android9.0的系统rom定制化开发中,在对于app启动时,在进行系统中,通过Launcher调用pms来查询app的相关ActivityInfo的相关信息,然后调用 ams来启动activity,这篇来分析pms中获取app的ActivityInfo的相关信息的相关源码分析 2.pms中关于启动app时获取app的Activ…
阅读更多...
PowerManagerServcie
PowerManagerServcie(PMS) 1. 电源管理架构2.电源管理4个层次3.电源管理服务 - PowerManagerService 1. 电源管理架构 PowerManagerService是android系统电源管理的核心服务。 PowerManagerService继承自SystemService,在SystemServer的main()方法中&am…
阅读更多...
Android 13.0 第三方app安装完成后默认授予运行时权限
1.概述 在13.0的系统产品开发中,在6.0以后的系统中,对于权限都是动态申请的,所有在系统安装第三方app后,app在首次运行时,会弹出授权窗口, 会要求用户手动授予app运行时权限,在由于系统产品开发需要要求默认授予第三方app安装完成后,默认授予app的运行时权限,这样就不…
阅读更多...
Android 添加休眠唤醒分别关闭和打开飞行模式
软件:Android11 硬件:QCS6125 需求:功耗考虑,需要在系统息屏5分钟后,进入飞行模式,系统唤醒后,关闭飞行模式。 考虑这个动作需要做到开机即可启动里边,因此添加了一个自定义服务&am…
阅读更多...
android 9 adb安装过程学习(三)
PackageManagerService 一、PackageManagerService.installStage 接下来,进入 PackageManagerService 阶段。从PackageInstallerSession.java的commitLocked调用 这里的 IPackageInstallObserver2 observer 是前面创建的本次 localObserver: 位置&…
阅读更多...
Android 10.0 系统默认打开OEM解锁开关功能实现
1.前言 在10.0的系统定制中,在9.0系统以后为了设备的安装,系统开始启用oem机制,所以在adb push文件就需要先oem解锁,然后才可以 进行相关操作,所以就需要默认打开oem解锁的开关,来方便oem解锁功能的实现 如图: 2.系统默认打开OEM解锁开关功能实现的核心类 packages\ap…
阅读更多...
Android 13.0 根据app包名授予app监听系统通知权限
1.概述 在13.0的系统rom产品定制化开发中,在一些产品rom定制化开发中,系统内置的第三方app需要开启系统通知权限,然后可以在app中,监听系统所有通知,来做个通知中心的功能,所以需要授权获取系统通知的权限,然后来顺利的监听系统通知。来做系统通知的功能,接下来来实现…
阅读更多...
android 13.0 禁止app启动(不显示app列表)和允许app运行
1.前言 在13.0产品开发中,在进行教育平板的定制开发中,可以有需求要实现禁止app启动和允许app运行的接口,禁用后app后已安装的应用从桌面消失,只存在于系统设置内的应用列表里,无法调用。启用后,恢复正常使用,在桌面显示。对于app管理的都是由PackageManager来负责的,P…
阅读更多...
PackageManagerService初始化
参考资料:PMS 第 1 篇 - PackageManagerService 初始化 这个是基于Android 7的,我看的代码是Android 9 前言 PMS 用来管理所有的 package 信息,包括安装、卸载、更新以及解析 AndroidManifest.xml 以组织相应的数据结构,这些数…
阅读更多...