当前位置: 首页 > news >正文

天河做网站孝感建设银行网站

天河做网站,孝感建设银行网站,wordpress必备工具,世界杯数据分析文章目录 概述一、app应用安装黑名单核心代码二、app应用安装黑名单核心功能分析三、代码实战1.先导入所需要的包2.添加获取黑名单方法3.添加限制黑名单方法4.上层使用PS:查看当前黑名单 总结 概述 在13.0系统rom定制化开发中#xff0c;客户需求要实现应用安装黑名单功能客户需求要实现应用安装黑名单功能在黑名单中的应用不允许安装实现一个 控制app安装的功能并且暴露接口给上层应用这需要从app安装流程入手才可以实现功能 PMS就是负责管理app安装的功能就在这里添加就可以了接下来看具体实现这个功能 一、app应用安装黑名单核心代码 framework/base/core/java/android/content/pm/IPackageManager.aidl framework/base/services/core/java/com/android/server/pm/InstallPackageHelper.java framework/base/services/core/java/com/android/server/pm/PackageManagerService.java 二、app应用安装黑名单核心功能分析 PackageManager是用于获取Android系统中应用程序的信息查询应用程序相关信息(applicationactivityreceiverserviceprovider及相应属性等、查询已安装的应用、 增加或删除权限、清除数据用户、服务器、代码段等 IPackageManager接口类中定义了服务端和客户端通信的业务函数还定义了内部类Stub该类从Binder派生并实现了IPackageManager接口。 PackageManagerService继承自IPackageManager.Stub类由于Stub类从Binder派生因此PackageManagerService将作为服务端参与Binder通信。 PackageManagerService简称PKMS是Android系统中核心服务之一管理着所有与package相关的工作常见的比如安装、卸载应用、信息查询等工作主要完成以下核心功能 1.解析AndroidManifest.xml清单文件解析清单文件中的所有节点信息 2.扫描本地文件主要针对apk主要是系统应用、本地安装应用等。 实现功能需求 我这里用了简单的方法在InstallPackageHelper.java中增加黑名单接口实现设置黑名单和获取黑名单接下来在InstallPackageHelper中的安装app的方法中判断是否是黑名单内的app然后确定是否让安装从而实现功能 三、代码实战 1.先导入所需要的包 //add LQX import android.text.TextUtils; import java.util.Arrays; import java.util.List; //add LQX有些Android13是没有android.provider.Settings.System定义的就需要多加一个 import android.provider.Settings2.添加获取黑名单方法 //add LQXprivate boolean isBlackListApp(String packagename){String installBlackApp android.provider.Settings.System.getString(mContext.getContentResolver(), install_black_app);if (TextUtils.isEmpty(installBlackApp)) {return true;}else{String[] split installBlackApp.split(,);ListString installBlackAppList Arrays.asList(split);if (installBlackAppList.contains(packagename)) {return true;}}return false;} //add LQX3.添加限制黑名单方法 在preparePackageLI(InstallArgs args, PackageInstalledInfo res)中添加 try (PackageParser2 pp mPm.mInjector.getPreparingPackageParser()) {parsedPackage pp.parsePackage(tmpPackageFile, parseFlags, false);AndroidPackageUtils.validatePackageDexMetadata(parsedPackage);} catch (PackageManagerException e) {throw new PrepareFailure(Failed parse during installPackageLI, e);} finally {Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);}//add LQXif(isBlackListApp(parsedPackage.getPackageName())){Log.d(InstallPackageHelper,parsedPackage.getPackageName() is does not instant app);throw new PrepareFailure(INSTALL_FAILED_INTERNAL_ERROR,app is in the BlackList.packageName);}//add LQX// Instant apps have several additional install-time checks.4.上层使用 Settings.System.putString(mContext.getContentResolver(), install_black_app,com.LQX.systemproperties,com.LQX);多个包名用逗号隔开 PS:查看当前黑名单 settings get system install_black_app总结 以上就是安卓13的应用安装黑名单以及接口教程。
http://www.dnsts.com.cn/news/41077.html

相关文章:

  • 广州建设专业网站做网站如何适应分辨率
  • 百度做网站的公司怎样做国际网站平台
  • 网站建设与管理是什么意思北京广告公司名录
  • 银川哪里做网站网站开发培训机构需要多少钱
  • phpcms 专题网站模板seo北京
  • 专业网站建设人工智能研发青岛栈桥门票多少钱
  • nginx wordpress多个站点在人才网站做业务
  • 个人设计师网站 青春衡水搜索引擎优化
  • 网站开发的企业网络培训机构排名前十
  • share poine 户做网站权威发布是什么意思
  • 网站联系我们怎么做住房和城乡建设部网站造价
  • 在国外怎么做网站小型企业建站公司
  • 婺源旅游攻略seo建站收费地震
  • 做微网站的第三方登录界面网站移动端做pc端的301跳转
  • 织梦网站打开空白淄博网站推广价格
  • 网站的登录功能一般是用cookie做的把网站做静态化是什么意思
  • 广州网站建设怎么样网站建设服务合同 付款方式
  • 青岛黄岛网站建设wordpress lnmp 伪静态
  • 微信开发网站制作广东网站建设微信商城开发
  • 河南省新闻联播网站建设优化保定
  • 免费的网络营销方式长治seo
  • 山东电力建设网站网站建站模版
  • 本地南昌网站建设公司衡水网站建设多少钱
  • 网站 建设 场地 资金网站建设存在不足
  • 怎么做类似清风dj网站易语言网站开发教程
  • 下载中心网站开发什么是互联网推广
  • 网站开发常用图标 图像东莞手机网站
  • 如何选择百度网站优化公司昆山高端网站建设
  • 北京建设局网站首页国外花型设计网站
  • 自己建设一个平台网站多少钱myeclipse做网站更改名字