zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

android 8.1 9.0 10.0 默认允许安装第三方app去掉未知来源弹窗直接安装apk

AndroidApp安装 默认 直接 第三方 去掉 允许
2023-09-14 09:05:09 时间

1.概述

在10.0的产品开发中,8.0以后对于安装第三方app时需要申请 REQUEST_INSTALL_PACKAGES权限,那么没有申请权限时就会弹出 安装未知来源的对话框,而在定制化开发中,有需求要求允许安装apk时,去掉未知来源弹窗的功能

2.默认允许安装第三方app去掉未知来源弹窗直接安装apk的核心类

frameworks/base/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java

3.默认允许安装第三方app去掉未知来源弹窗直接安装apk核心功能分析和实现

功能分析:

在安装第三方app时弹窗时,在弹出未知来源时,通过adb shell命令发现弹窗页面就是PackageInstallerActivity.java,需要去掉弹窗,就要对相关源码做分析然后做修改

首先来看 PackageInstallerActivity.java 源码

      @Override
      protected void onCreate(Bundle icicle) {
          getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
  
          super.onCreate(null);
  
          if (icicle != null) {
              mAllowUnknownSources = icicle.getBoolean(ALLOW_UNKNOWN_SOURCES_KEY);
          }
  
          mPm = getPackageManag