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

怎么用网站开发者工具更换网页邢台市的做网站制作公司

怎么用网站开发者工具更换网页,邢台市的做网站制作公司,前端seo是什么,庆阳网警文章目录 概述一、app应用安装黑名单核心代码二、app应用安装黑名单核心功能分析三、代码实战1.先导入所需要的包2.添加获取黑名单方法3.添加限制黑名单方法4.上层使用PS:查看当前黑名单 总结 概述 在13.0系统rom定制化开发中,客户需求要实现应用安装黑名单功能&am…

文章目录

  • 概述
  • 一、app应用安装黑名单核心代码
  • 二、app应用安装黑名单核心功能分析
  • 三、代码实战
    • 1.先导入所需要的包
    • 2.添加获取黑名单方法
    • 3.添加限制黑名单方法
    • 4.上层使用
    • PS:查看当前黑名单
  • 总结


概述

在13.0系统rom定制化开发中,客户需求要实现应用安装黑名单功能,在黑名单中的应用不允许安装,实现一个
控制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系统中应用程序的信息,查询应用程序相关信息(application,activity,receiver,service,provider及相应属性等)、查询已安装的应用、
增加或删除权限、清除数据用户、服务器、代码段等
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.Settings

2.添加获取黑名单方法

//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(",");List<String> installBlackAppList = Arrays.asList(split);if (installBlackAppList.contains(packagename)) {return true;}}return false;}
//add LQX

3.添加限制黑名单方法

在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.yayakq.cn/news/83358/

相关文章:

  • 新品销售网站建设一键制作短视频
  • wordpress管理页面乐天seo培训
  • 网站建设 武讯科技wordpress文章归档 文章显示数量
  • 做队徽的网站安监局网站建设
  • 网站后台生成文章很慢网站建设详方案
  • 自建站外贸平台有哪些比较好新闻资讯平台有哪些
  • 支付网站服务费怎么做分录WordPress添加海报分享
  • 手机网站设计技巧wordpress图标插件
  • 河北省衡水市景县规划网站一个专门做特产的网站
  • 二手网站开发适合员工的培训课程
  • 网站的英文安徽建设人才网官网
  • 网站做等保是什么意思广告设计专业有什么可从事的工作
  • 做别墅花园绿化的网站兰州建设网站公司
  • 网站推广文案怎么写公司变更名称和经营范围
  • 校园网站如何管理中国建筑网官网一级建造师管理
  • 集团网站建设定制网站建设淘宝官网首页登录电脑版
  • 建设用地规划许可证在哪个官方网站可以查询企业门户app
  • 网站建设图片链接方法手机上使用wordpress
  • 维护公司网站建设公司网址有哪些
  • 重庆公司网站制作公司wordpress 自动换行
  • 宁波网站制作公司费用价格做点阵纸的网站
  • 沈阳建设工程质量检测中心网站中职学校专业建设方案
  • 做企业网站服务器在国外淘宝做网站的店
  • 网站建设20推广中国十大广告公司
  • 问答社交网站开发单页网站模板修改吗
  • 备案ip 查询网站查询网站wordpress 存储视频教程
  • 网站后台搭建教程昭通建网站
  • 网站多久需要维护这样做的网站
  • 看手表网站2018企业网站优化应该怎么做
  • 河南省建设厅网站103网站系统繁忙怎么办