Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.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
Android 应用程序如何从我的缓存目录读取文件?_Android - Fatal编程技术网

Android 应用程序如何从我的缓存目录读取文件?

Android 应用程序如何从我的缓存目录读取文件?,android,Android,我有一个文件://Uri(图像),我正在将其发送到其他应用程序的活动以供阅读。此Uri在我的缓存目录中如下所示: file:///data/user/0/com.example/cache/temp1510385678660-359616374.jpg 第三方应用程序(本例中为Gallery应用程序)显示Toast“无法加载媒体”,这意味着它无法读取提供的Uri 我在意向书中添加了以下标志: intent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISS

我有一个
文件://
Uri
(图像),我正在将其发送到其他应用程序的活动以供阅读。此
Uri
在我的缓存目录中如下所示:

file:///data/user/0/com.example/cache/temp1510385678660-359616374.jpg
第三方应用程序(本例中为Gallery应用程序)显示Toast“无法加载媒体”,这意味着它无法读取提供的
Uri

我在意向书中添加了以下标志:

intent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
为什么另一个应用程序无法读取我的Uri,我如何才能访问我的Uri



注意:如果您认为我应该使用
文件提供程序,我实际上是在API>=24上使用它,因为在API<24上使用它会导致将Uri发送到Google Photos应用程序时出错(他们的应用程序中有一个bug)。

这是应用程序的专用内部存储。因此,没有其他应用程序可以访问

您必须使用文件提供程序

即使您将文件放在外部存储器上,在Android 7+上也需要使用文件提供商