Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图打开文件时,意图获取';找不到媒体';错误_Java_Android_React Native_React Native Android - Fatal编程技术网

Java 试图打开文件时,意图获取';找不到媒体';错误

Java 试图打开文件时,意图获取';找不到媒体';错误,java,android,react-native,react-native-android,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.se

我下载一个文件并使用

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()之后

当我试图打开文件时,它会打开多媒体资料,但会告诉我“找不到媒体”


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

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

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

请您对此进行一点扩展。我对Android/Java还很陌生。@iremlopsum:好吧,这个问题与。关于通过
内容
Uri
发布文件,这是。@iremlopsum:另外,它使用
文件提供程序
(提供从
资产/
复制的PDF文件,以便可以引导示例)。请您对此稍作扩展。我对Android/Java还很陌生。@iremlopsum:好吧,这个问题与。关于通过
内容
Uri
发布文件,该Uri是@iremlopsum:另外,它使用
文件提供程序
(提供从
资产
复制的PDF文件,以便可以引导示例)。
file:///data/user/0/com.app.name/cache/PP_278545395.png