当应用程序在Android 10中处于后台时,不显示用于安装apk的PackageInstallerActivity

问题描述

我正在开发一个将安装其他一些应用程序的应用程序。我正在使用PackageInstaller安装应用程序。下面是我的示例代码

PackageInstaller.SessionParams sessionParams = new PackageInstaller.SessionParams(
                    PackageInstaller.SessionParams.MODE_FULL_INSTALL);
sessionParams.setInstallLocation(someInstallLocation);
sessionParams.setAppPackageName(somePackageName);

sessionId = packageInstaller.createSession(sessionParams);
session = packageInstaller.openSession(sessionId);
copyApkToPackageInstaller(session);
session.commit(callbackIntent);

,当我收到向用户显示PackageInstallerActivity的回调时,我将开始如下活动:

final int status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS,INVALID_STATUS);
if (status == PackageInstaller.STATUS_PENDING_USER_ACTION) {
    final Intent intentUser = (Intent)intent.getParcelableExtra(Intent.EXTRA_INTENT);
    intentUser.addFlags(FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intentUser);
}

因此,我在Android 6和8设备上进行了尝试,并检查了即使我的应用程序处于后台,该活动也显示为“安装”或“取消”。但是,当我尝试使用Android 10时,当应用程序在后台运行时,不会显示该活动。仅当应用程序位于前台时,才会显示活动。

我知道这可能是由于Android 10的限制所致,但是这种意图和活动是来自Android本身的,对吧?不应允许此活动显示在屏幕上,还是我需要为此做些事情?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)