Android:DCIM文件夹中的照片存储重复

Android:DCIM文件夹中的照片存储重复,第1张

概述我正在使用本机Android相机并将文件保存到应用程序数据文件夹(/mnt/sdcard/Pictures/).同时-在某些设备上-照片的另一个副本将保存到DCIM文件夹中.这是我的代码:privatevoidstartStockCameraForResult(){//createIntenttotakeapictureandreturncontrolto

我正在使用本机Android相机并将文件保存到应用程序数据文件夹(/ mnt / sdcard / Pictures /).同时-在某些设备上-照片的另一个副本将保存到DCIM文件夹中.

这是我的代码:

private voID startStockCameraForResult(){    // create Intent to take a picture and return control to the calling application    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);    // mediaStorageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);    mNextimagefileUri = ImagefileUtils.getoutputMediafileUri();    intent.putExtra(MediaStore.EXTRA_OUTPUT, mNextimagefileUri); // set the image file name    // start the image capture Intent    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);}

如何防止在DCIM文件夹中保存图像的其他副本?

我的问题是代码会产生
1张照片:三星galaxy SIII,华为HUAWEI P2-6011等
2张照片:Samsung galaxy SI,Htc HTC One XL等

其他线程描述了删除最后添加的图像到DCIM.这里的问题是没有问题的设备,例如DCIM上的galaxy SIII和Imagename以及应用程序数据文件夹上的Imagename不同.

非常感谢

解决方法:

AFAIK,您不能可靠地(独立于设备)告诉相机应用程序a)保存图像的位置,以及b)仅保存一次.我不得不采取这种方法:

1)通过删除putExtra(…)语句,让相机应用将图片保存到喜欢的地方:

`intent.putExtra(MediaStore.EXTRA_OUTPUT, mNextimagefileUri); // set the image file name`

此 *** 作(即未设置EXTRA_OUTPUT)将确保仅将一张图像保存到默认图片位置.

2)查找最后拍摄的照片,并保存其ID,以备日后安全检查. (查询最后一个图像ID,按DATE_TAKEN排序.)

3)触发捕获意图,并再次在onActivityResult中获取最后拍摄的图像,并保存其ID,URI和路径.

4)如果您的新图片ID是>比以前保存过的要好,继续,否则恐慌…

5)将原始图像文件(使用其路径)移动到首选位置.现在,原始文件已删除.

6)使用其URI删除原始媒体映像条目.现在,图像也从图库中删除了.

7)如果您也想删除缩略图,则需要类似地进行查询和删除,但我建议您不要这样做:设备重启或其他媒体扫描应刷新缩略图缓存.另外,删除原始图像后,您实际上很可能需要短暂的缩略图. (如果需要的时间更长,则需要小心:如果将照片移到私有应用程序目录(getExternalfilesDir(Environment.DIRECTORY_PICTURES)),媒体管理器将无法(能够)为您生成缩略图,因此您可能需要管理自己的缩略图.)

总结

以上是内存溢出为你收集整理的Android:DCIM文件夹中的照片存储重复全部内容,希望文章能够帮你解决Android:DCIM文件夹中的照片存储重复所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1095608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存