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

天河做网站外贸建站及推广

天河做网站,外贸建站及推广,广州做网站的公,千库网素材免费下载文章目录 概述一、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.hkea.cn/news/14485915/

相关文章:

  • 建设银行网站无法访问django网站开发视频教程
  • 桂林医院网站建设手机网站图片锚链接怎么做
  • 网站建设与设计 毕业设计自己做的网站怎么上排行榜
  • 单位网站建设目的网页设计规范要求
  • seo整站优化方案网站建设策略书
  • 网站建设费要交印花税吗网站站长 感受
  • 园林景观设计公司点评的网站和论坛专业微信网站建设多少钱
  • 营销型网站源码下载珠宝首饰网站开发
  • c语言开发网站太原seo公司网站
  • 基于用户体验的网站设计免费企业网站建设哪种
  • 自己做网站百度能收录码百度提问
  • 如何在自己电脑上做网站室内设计联盟首页
  • c 做网站起什么作用网上下载的网站后台安全吗
  • 自贡网站建设哪家好建一个营销网站的步骤
  • 网站运营经验最近十大新闻
  • 网站开发需要什么资质中国品牌100强排名
  • php网站开发门槛高吗网站开发 网站建设
  • 湖南平台网站建设推荐网站设计外包合同
  • 网页制作模板素材库织梦做的网站好优化
  • 网页制作与网站开发...网站网页设计在哪找
  • 标识标牌网站怎么做中国设计网址
  • 山东省住房与建设厅网站百度网盘搜索引擎入口
  • 线上网站开发相关书籍word模板免费下载网站
  • 官网和网站的区别wordpress 边栏修改
  • 重庆市建设局网站制作h5的基本流程
  • 长沙做网站推广哪家好搜索量用什么工具查询
  • 济南做网站建设的公司建立无上气运皇朝
  • 在网站建设中经历的流程给网站栏目页做反链好吗
  • 开发一个网站要多久微信朋友圈产品推广语
  • 沈阳网站推广的公司广州seo和网络推广