Android新增开关安装apk选项

Debug  2024年10月9日 am8:23发布3周前更新 91es.com站长
30 0 0

前言

记录一下,Android中设置一个开关进行判断是否允许用户自己安装apk

记录于此,方便自己查阅。

正文

frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java
@Override
public int createSession(SessionParams params, String installerPackageName,
        String callingAttributionTag, int userId) {
    try {
        return createSessionInternal(params, installerPackageName, callingAttributionTag,
                userId);
    } catch (IOException e) {
        throw ExceptionUtils.wrap(e);
    }
}

可以在createSession()或createSessionInternal(),新增一个属性进行判断是否允许用户自己安装apk。

我这里在createSession()中新增。

@Override
public int createSession(SessionParams params, String installerPackageName, int userId) {
    //新增开始
    if(!SystemProperties.getBoolean("persist.sys.install.allow", true)) {
        Slog.w(TAG, "Disallow install apk!");
        return -1;
    }
    Slog.w(TAG, "Allow install apk!");
    //新增结束
    try {
        return createSessionInternal(params, installerPackageName, userId);
    } catch (IOException e) {

}

上面是默认允许安装的。

如果不想用户安装,修改上面默认值为false,当然还可以再编译时就对persist.sys.install.allow进行初始化。

比如在

packages/services/Car/car_product/build/car.mk

中新增如下配置即可。

PRODUCT_PROPERTY_OVERRIDES += \
    persist.sys.install.allow=false

参考文章

 历史上的今天

  1. 2019: 莫泊桑:瞎子(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

Android多线程介绍

前言记录一下Android主线程,子线程等相关知识。我们知道Android3.0后如果在主线程进行网络请求是会抛出异常的,这是为了避免主线程被耗时操作阻塞从而导致ANR。因此有必要学习一下子线程相关知识。正文搞懂什么是线程前,也需要搞懂什么是进程。什么是进程进程是操作系统结构的基础。...

海子:为什么你不生活在沙漠上

为什么你不生活在沙漠上英雄的可怜而可爱的伴侣我那唯一的人在何方? 用酒调着火所能留下的灰 写下几首诗?我的形象开始上升主宰着你的心灵!孤独守候着一个健康的声音!绝望之神你在何方? 为什么你不生活在沙漠上!我是谁手里磨刀的石块?我为何要把赤子带进海洋&n...

TBox、ECall、BCall、ICall

前言本章简单介绍一下TBox、ECall、BCall、ICall的专用名称和其作用。正文TBoxT-Box称为车载智能终端,作为车身唯一可以联网的控制单元,肩负着监控和控制车身状态的使命,其存在的最大价值就在与网络的连接性。TBOX上通云端TSP(Telematics Service Pr...

Android Studio制作.9.png简单记录

前言项目中.9.png的用处很大,比如显示的title,需要一个背景图,由于文本长度不一,就需要使用这种.9.png图片。下面简单记(摘)录(抄)Android Studio制作.9.png的步骤。PS: 本文对网上大佬的文章进行简单记录而已,只是方便自己。好记性不如烂笔头正文Andro...

framework中添加自己的aidl

前言简单记录一下在Framework中新增一个服务接口,方便应用调用,类似于获取AudioManager一样。AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);Android...

Linux修改文件属性

前言经常用,但还是会忘记,因此这里又整理一下。记录全一定,方便自己回顾。这里主要介绍chown ,chmod,chgrp。正文在Linux中通过ls -l可以看文件的属性。chgrpchgrp:更改文件属组。chgrp [-R] 属组名 文件名-R:递归更改文件属组,就是在更...