这是我的代码:
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);
但是,当我开始活动时,软件包安装程序将不会显示为“打开方式”。
答案 0 :(得分:0)
为清单添加REQUEST_INSTALL_PACKAGES
权限
答案 1 :(得分:0)
那不是有效的Uri
。 Uri
有一个方案;您尝试解析的值不会。
在Android 6.0及更低版本上,使用Uri.fromFile()
为文件构建Uri
。
在Android 7.0及更高版本上,由于file
方案被禁止,因此您需要为应用配置FileProvider
并在其中使用Uri
。不幸的是,不适用于 Android 6.0及更低版本,因为软件包安装程序当时无法处理content
Uri
值。因此,您需要检查运行应用程序的Android版本并使用适当的方法。