gpt4 book ai didi

android - 使用 FileProvider 从图库中选择图像文件

转载 作者:IT王子 更新时间:2023-10-28 23:32:21 24 4
gpt4 key购买 nike

为 Android N 编译我遇到了 FileProvider 的问题.我需要让用户从图库中选择图像/用相机拍照,然后将其裁剪为正方形。

我已经成功实现了 FileProvider用相机拍摄图像,但我从图库中挑选图像时遇到严重问题。问题是画廊中有很多来自不同地方的文件,例如我有异常(exception):

  java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/6133-3766/DCIM/100ANDRO/DSC_0035.JPG

所以问题是,我可以将什么放入 file_paths.xml 以访问 /storage/ 中的任何位置.我不能依赖确切的路径,因为可能有来自 WhatsApp 和类似应用程序的图片,例如 WhatsApp 图像获取此路径:

/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20160821-WA0000.jpg

我已经设法用空路径解决了:

<external-path name="external_storage" path=""/>

类似于 Environment.getExternalStorageDirectory()根据 documentation.

但仍然无法弄清楚如何处理存储在 /storage/SOME_DIR/ 中的图像.请帮忙。

最佳答案

我认为这个问题是基于误解。

FileProvider 的目的是授予对您的应用已经控制的文件的访问权限(对外部应用)。

您永远不会成功地使用自己的文件提供程序获得对外部应用程序拥有的文件的访问权限。

如果外部应用程序愿意,它可以使用文件提供程序授予您访问权限。

这似乎是问题所要求的。如果我不明白你的问题,请告诉我,但如果我明白了,你试图做的就是行不通。

关于android - 使用 FileProvider 从图库中选择图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39097181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com