如何在展台模式/锁定任务模式下将安装程序包列入白名单?



我创建了一个自助服务终端应用程序,它具有设备内其他应用程序的更新功能,但安装程序包被阻止。如何将安装包列入白名单?

我尝试将此安装程序包列入白名单,但它不起作用。也许我缺少要列入白名单的其他应用程序。

...//My other whitelisted apps
private static String INSTALLER_PACKAGE = "com.google.android.packageInstaller";
private static String[] APP_PACKAGES = { ..., INSTALLER_PACKAGE};
...
dpm.setLockTaskPackages(cn, active ? APP_PACKAGES : new String[]{});

如果您在ACTION_INSTALL_PACKAGE意图上设置FLAG_ACTIVITY_NEW_TASK标志,则在尝试调用PackageInstaller进行更新时,它通常会告诉您"不允许取消固定"。

例如,在此示例中 (应用中心(

Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
intent.setData(fileUri);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // <-- giving me grief
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

我通过调查发现HockeyApp,Microsoft AppCenter和TestFairy正在设置此标志,因此我在固定(任务锁定(时无法使用其开箱即用的应用内更新解决方案。我也在运行android:launchMode="singleTask"它的价值。

但是,我能够根据自己的喜好更改HockeyApp的库。这是我最初的询问 https://github.com/bitstadium/HockeySDK-Android/issues/368

最新更新