当前位置: 首页 > 知识库问答 >
问题:

当尝试使用Intent打开文件时,会出现“未找到媒体”错误

司马高昂
2023-03-14

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

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个答案

丁学
2023-03-14

getCacheDir() 是应用内部存储的一部分。其他应用无权访问它。使用 FileProvider 将该内容发布到其他应用。

 类似资料:
  • 问题内容: 我编写的python程序存在一个小问题,该程序可以从特殊文本文件中提取一些信息。循环(下面的代码)需要执行我的函数,超过500个文件(一个文件列出一个列表),这样我才能构建数据集。 错误:发生的是IOException ,因此由于某种原因python无法访问文件。我已经检查了目录路径名(位置)和文件许可权,它们是正确的(读+写)。有什么想法为什么当文件确实存在且路径名正确时会报告IOE

  • 使用Eclipse2018_09和Vaadin8的im。我只是直接创建了一个干净的Vaadin项目“MyApplication”。当我创建一个Vaadin设计器文件“testdesigne.html”并尝试打开它时,设计器崩溃,文件将被关闭。它首先尝试加载视图,并在5秒后崩溃。 当我打开Eclipse错误日志视图时,我可以看到以下2个问题: 从插件调用代码时出现问题:“org.eclipse.ui

  • 我有这个问题。我正在尝试连接到数据库并推送文本用户。当我打开文件时,我只会发现很多错误。您可以进一步查看错误和我的代码。仅供参考:我的数据库在MySQLi中 警告:mysqli::\uuuu construct():php\u network\u getaddresses:getaddrinfo失败:第3行的/www/webvol9/rj/fxgnq6r66hz6x2j/my domain/pub

  • 我的问题是为什么我会被抛出错误... java.lang.NoClassDefoundError:org/apache/poi/openxml4j/exceptions/invalidformatexception ...当我在/org/apache/poi/openxml4j/exceptions/的“文件poi-ooxml-3.9-20121203.jar”中看到InvalidFormatEx

  • My AccountEntityToAccount方法出现错误,返回类型Transaction是抽象类或接口。提供非抽象/非接口结果类型或工厂方法。AccountEntityToAccount(AccountEntity AccountEntity); 我怎样才能解决这个问题。我的事务类应该是抽象的,我无法更改抽象关键字

  • 当我试图打开一个特定的文件夹时,我有一个问题,我有这个代码来打开我的文件夹。 该代码只打开最近的文件夹,在那里我可以在我的图库中看到我的所有照片,而不打开特定的文件夹 我正在用API 26进行测试