1.概述

在10.0的系统产品开发中,对于app的卸载管理通常是有系统的PM负责管理的。所以在app应用卸载白名单功能的实现也是从PM在卸载方法中,按照白名单进行卸载

2.app应用卸载白名单的核心类

frameworks/base/core/java/android/content/pm/IPackageManager.aidl
frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java

3.app应用卸载白名单的核心功能分析和实现

实现卸载白名单的思路
1 . 在IPackageManager.aidl中增加卸载白名单接口
2. 在系统安卸载 apk 核心代码,查询 app 包名列表,实施拦截卸载
安装卸载的核心代码都在 PackageManagerService.java 中

3.1 PM中增加卸载白名单接口

diff --git a/frameworks/base/core/java/android/content/pm/IPackageManager.aidl b/frameworks/base/core/java/android/content/pm/IPackageManager.aidl--- a/frameworks/base/core/java/android/content/pm/IPackageManager.aidl+++ b/frameworks/base/core/java/android/con

android q(10.0)app应用卸载白名单相关推荐

  1. android 9.0 app应用安装白名单

    目录 1.概述 2.app应用安装白名单的核心类 3.app应用安装白名单的核心功能分析和实现 1.概述 在9.0的系统产品开发中,在产品开发中,对于控制app的安装需求也是比较常见的,所以在某些产品 ...

  2. android 9.0 10.0 设置上网应用白名单(上网app白名单)

    1.概述 在10.0的系统产品开发中,进行网络模块开发中,根据客户要求设置某些app可以上网,某些app不可以上网,就是所谓的网络白名单功能,而系统整个网络模块都是由NMS服务负责通讯的 2.设置上网 ...

  3. android 8.1 9.0 10.0 app应用卸载黑名单

    1.概述 在10.0的产品进行定制化开发中,对于限制app卸载的功能也是常有的功能,就是常说的app卸载黑名单功能,而app的安装和卸载都是有pms进行管理的 2.app应用卸载黑名单的核心类 fra ...

  4. Android Q(10.0)版本新特性以及兼容性适配

    北京时间2019年3月14日Google正式对外发布Android Q Beta 1及预览版SDK,这意味着安卓开发者们又即将迎来一年一度的新版本适配工作了.Android Q 为开发者们带来了许多新 ...

  5. Android Q(10.0)的新功能和API

    Android Q功能和API 目录: 安全性增强 改进的生物识别认证对话框 直接从APK运行嵌入式DEX代码 TLS 1.3支持 Public Conscrypt API 连接功能 Wi-Fi网络连 ...

  6. Android Q(10.0)黑暗主题

    黑暗的主题 Android Q提供了一个新的Dark主题,适用于Android系统UI和设备上运行的应用程序. 黑暗主题有很多好处: 可以大幅减少用电量(取决于设备的屏幕技术). 提高低视力用户和对强 ...

  7. android 11.0app应用卸载白名单

    1.概述 在11.0定制化开发中,客户需求要实现应用卸载白名单功能,用来管理第三方app卸载功能,需要在白名单之中的应用可以卸载,其他的app不准卸载,实现一个管理第三方app卸载的功能,这需要从ap ...

  8. Android Q 10.1 KeyMaster源码分析(二) - 各家方案的实现

    写在之前 这两篇文章是我2021年3月初看KeyMaster的笔记,本来打算等分析完KeyMaster和KeyStore以后再一起做成一系列贴出来,后来KeyStore的分析中断了,这一系列的文章就变 ...

  9. 华为android o适配名单,华为给出首批升级名单,这8款华为手机率先适配Android Q 10系统...

    原标题:华为给出首批升级名单,这8款华为手机率先适配Android Q 10系统 昨天,在谷歌的I/O大会上,谷歌正式向消费者介绍了Android Q 10系统中的新功能,除了自家的Pixel设备率先 ...

最新文章

  1. WPF-MVVM学习心德(WinForm转WPF心德)
  2. poj 1523 SPF (无向图 的 割点)
  3. Android多模块覆盖率,Android代码覆盖率初探—问题已解决!
  4. 队列的基本操作_如果让你手写个栈和队列,你还会写吗?||CSDN博客精选
  5. Oracle 11.2.0.2新特性——用户重命名(Rename User)
  6. eclipse对maven项目进行打war包
  7. 在mac上用文本编辑器写python_Mac系统Python解释器、PyCharm编辑器安装及使用方法详解...
  8. 时间序列分析(6)| DF检验
  9. python queue死锁_Python学习【第24篇】:死锁,递归锁,信号量,Event事件,线程Queue...
  10. Pytorch优化器全总结(二)Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam(重置版)
  11. 开发支付宝接口时的错误报告:openssl_sign(): supplied key param cannot be coerced into a private key【解决方法】
  12. 登录到接受邮件服务器,使用outlook2016配置imap 登陆到接收服务器(imap) 失败
  13. 2021裁判文书网抓取
  14. Hive Privilege 分析
  15. 在线还原base64编码的图片
  16. Linux环境搭建 - update https://apt.repos.intel.com 报错
  17. Google推出拼音输入法了!
  18. java.dll_ibtmjava.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  19. 关于Mobile Web App你所应该知道的
  20. 【mysql】关闭mysql缓存的方法

热门文章

  1. c语言boll函数,布林线学习(二) 布林线的公式为:BOLL:MA(CLOSE,M); UB:BOLL+2*STD(CLOSE,M); LB:BOLL-2*... - 雪球...
  2. POJ - 2008 Moo University - Team Tryouts
  3. Fast Fourier transform快速傅里叶变换
  4. python自然语言处理-就职演说语料库
  5. TabLayout修改文字间距
  6. php获取附近的商家
  7. Scanner输入带空格的字符串
  8. kotlin 使用ButterKnife
  9. 【学习经典】时间序列处理(DatetimeIndex)
  10. 【算法练习】字符串处理 poj2690:首字母大写