【问题标题】:When trying to open a file with Intent getting 'Media not found' error尝试使用 Intent 打开文件时出现“找不到媒体”错误
【发布时间】:2017-06-19 20:18:47
【问题描述】:

我下载一个文件并将其保存为临时文件使用

File outputDir = context.getCacheDir();
File f = File.createTempFile(FILE_TYPE_PREFIX, "." + extension,outputDir);

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

我开始一个新的意图

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

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

知道为什么会出现这个问题吗?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 2017-10-02
    • 2013-02-06
    • 1970-01-01
    相关资源
    最近更新 更多