尝试使用Intent打开文件时,找不到“未找到媒体”#39;错误

时间:2017-06-19 20:18:47

标签: java android react-native react-native-android

我下载文件并使用

将其保存为临时文件
File outputDir = context.getCacheDir();
File f = File.createTempFile(FILE_TYPE_PREFIX, "." + extension,outputDir);

f.exists()表示该文件存在,并且我设置 f.setReadable(true,false); 以便能够读取它。

我开始一个新的意图

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(f), mimeType);               
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

f返回

/data/user/0/com.app.name/cache/PP_278545395.png

之后和Uri.fromFile()

file:///data/user/0/com.app.name/cache/PP_278545395.png

当我尝试打开文件时,它会打开图库但告诉我"未找到媒体"。

为什么会出现这个问题?

1 个答案:

答案 0 :(得分:1)

getCacheDir()是您应用的internal storage的一部分。其他应用无法访问它。使用FileProvider将该内容发布到其他应用。