编译 Android N 我遇到了一个问题FileProvider
。我需要让用户从图库中选择图像/用相机拍照,然后将其裁剪为正方形。
我已经成功实现了FileProvider
用于用相机拍摄图像,但我在从图库中选取图像时遇到严重问题。问题是,在画廊中有很多来自不同地方的文件,我遇到了异常,例如:
java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/6133-3766/DCIM/100ANDRO/DSC_0035.JPG
所以问题是,我可以放什么文件路径.xml访问任何地方/storage/
。我不能依赖确切的路径,因为可能有来自 WhatsApp 和类似应用程序的图片,例如 WhatsApp 图像获取此路径:
/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20160821-WA0000.jpg
我已经设法用空路径解决了这个问题:
<external-path name="external_storage" path=""/>
这类似于Environment.getExternalStorageDirectory()
根据文档。 https://developer.android.com/reference/android/support/v4/content/FileProvider.html#SpecifyFiles
但仍然不知道如何处理存储在/storage/SOME_DIR/
。请帮忙。
我认为这个问题是基于一个误解。
的目的文件提供者 https://developer.android.com/reference/android/support/v4/content/FileProvider.html is to grant访问(外部应用程序),您的应用程序已控制的文件。
您永远不会成功地使用自己的文件提供程序gain访问外部应用程序拥有的文件。
如果外部应用程序选择这样做,则由外部应用程序使用文件提供程序授予您该访问权限。
这似乎就是问题所要问的。如果我不明白你的问题,请告诉我,但如果我明白了,你想做的事情就行不通。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)