是否有可能从 中获取File
对象DocumentFile
?通过一些小技巧,我可以获得文件的真实路径,但File
不允许该类在那里读/写......
我需要从 USB OTG 或辅助存储访问媒体文件,我需要以下功能:
- 从图像中获取 exif 数据 => 我真的需要它
- 获取图像的位置
- 获取图像的真实创建日期
- 实际上,为了显示目的,我需要所有 exif 数据
- 旋转图像的能力(这可以通过创建临时图像,删除旧图像并重命名临时图像来实现)
关于如何实现这一目标的任何想法?
是否有可能从 中获取File
对象DocumentFile
?通过一些小技巧,我可以获得文件的真实路径,但File
不允许该类在那里读/写......
我需要从 USB OTG 或辅助存储访问媒体文件,我需要以下功能:
关于如何实现这一目标的任何想法?
是否有可能从 DocumentFile 中获取 File 对象?
不。
通过一些小技巧,我可以获得文件的真实路径
不可靠。毕竟,存储访问框架不需要有一个实际的文件。各种DocumentProvider
实现都脱离了云服务,在需要之前,数据不会本地存储在设备上。除此之外,您使用的任何方法都取决于可能因设备而异的内部实现,更不用说 Android 操作系统版本了。而且,最重要的是,即使您派生了路径,您仍然不一定能访问数据,因为您可能没有文件系统访问该位置的权限(例如,内部存储中保存的文件DocumentProvider
)。
从图像中获取exif数据
使用流,以及可以处理流的EXIF 代码,例如通过在 Internet 上搜索.android exif stream
旋转图像的能力(这可以通过创建临时图像,删除旧图像并重命名临时图像来实现)
您无法选择制作本地副本、旋转图像,然后DocumentFile
使用OutputStream
. 该“本地副本”是否仅在 RAM 中,或者需要成为磁盘上的实际文件,这在一定程度上取决于您计划如何旋转它。