Android意图不适用于.apk文件

时间:2016-10-29 13:45:01

标签: android android-intent

我正在开发文件管理器,我以这种方式打开文件:

fileName = fileToOpen.getName();
fileName = fileName.substring(fileName.lastIndexOf('.') + 1);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri uri = FileProvider.getUriForFile(getContext(), BuildConfig.APPLICATION_ID + ".provider", fileToOpen);
intent.setDataAndType(uri, MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileName));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);

这几乎可以处理所有扩展,但是当我点击.apk文件时,会抛出一个ActivityNotFoundException。我想启动Android安装屏幕。

1 个答案:

答案 0 :(得分:3)

仅在Android 7.0及更高版本上,软件包安装程序才会知道如何使用content Uri值。对于早期版本的Android,您别无选择,只能在external storage某处使用APK并使用file Uri