添加到媒体扫描仪后跟踪图像(当用户从​​图库中选择图像时)

时间:2015-04-27 15:31:04

标签: android image android-contentresolver

我有一个应用程序,允许用户从他们的相机拍摄保存到SD卡的图像,然后在其上运行媒体扫描仪,以便它们在图库中可见。用户还可以从库中添加图像。

在保存到SD卡之前,我对图像进行了一些压缩。因此,当用户从图库中选择图像时,如果它是由我的应用程序压缩和编写的图像,我想避免再次压缩它。我正在考虑检查图像路径以确定图像是否来自我的应用程序,但是使用URI,我得到像content://com.android.providers.media.documents/document/image%3A38691这样的字符串,而uri.getPath()似乎没有路径。

我有什么选择来判断这张图片是否来自我的应用?以下是我能想到的事情:

1)Uri uri = Uri.fromFile(file):这似乎是值file:///storage/emulated/0/Pictures/MyApp/image.jpg

2)当我写入SD卡时存储数据的校验和,并在看到新图像时对此进行检查。

3)运行媒体扫描程序时以某种方式获取URI。还没弄明白怎么做。

更新:对于选项(3),看起来我可以使用MediaScannerConnectionClient。这是最好的选择吗?将路径存储到数据库中的URI映射,并在每次用户从库中向我的应用添加新图像时引用它。

0 个答案:

没有答案