1.概述
在11.0 12.0定制化开发中,客户需求要实现应用安装白名单功能,在白名单之中的应用可以安装,其他的app不准安装,实现一个
控制app安装的功能,这需要从app安装流程入手就可以实现功能
PMS就是负责管理app安装的,功能就添加在这里就可以了,
2.app应用安装白名单核心代码
frameworks/base/core/java/android/content/pm/IPackageManager.aidl
frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
3.app应用安装白名单核心功能分析
实现功能需求:
首选需要在IPackageManager.aidl这个pms的aidl中增加白名单接口,实现设置白名单和获取白名单的
接口,接下来在PMS中的安装app的方法中判断是否是白名单的app,然后确定是否让安装从而实现功能
3.1 IPackageManager.aidl添加接口供app调用
增加pms的aidl中增加设置白名单和获取白名单接口
diff --git a/frameworks/base/core/java/android/content/pm/IPackageManager.aidl b/frameworks/base/core/java/android/content/pm/IP