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+上也需要使用文件提供商