使用意图类型为application / vnd.android.package-archive的程序包安装程序不会打开文件

时间:2019-04-25 16:53:04

标签: android apk packageinstaller

这是我的代码:

i.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
i.setDataAndType(Uri.parse(FileUtil.getPublicDir(Environment.DIRECTORY_DOWNLOADS).concat("/Vertretungsplan.apk")), "application/vnd.android.package-archive");
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

但是,当我开始活动时,软件包安装程序将不会显示为“打开方式”。

2 个答案:

答案 0 :(得分:0)

为清单添加REQUEST_INSTALL_PACKAGES权限

答案 1 :(得分:0)

那不是有效的UriUri有一个方案;您尝试解析的值不会。

在Android 6.0及更低版本上,使用Uri.fromFile()为文件构建Uri

在Android 7.0及更高版本上,由于file方案被禁止,因此您需要为应用配置FileProvider并在其中使用Uri。不幸的是,不适用于 Android 6.0及更低版本,因为软件包安装程序当时无法处理content Uri值。因此,您需要检查运行应用程序的Android版本并使用适当的方法。