gpt4 book ai didi

android - 停止使用 Android 原生相机保存照片

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:22:10 27 4
gpt4 key购买 nike

我正在使用原生 Android 相机并将文件保存到我的应用程序数据文件夹 (/mnt/sdcard/Android/data/com.company.app/files/Pictures/)。同时将照片的另一副本保存到 DCIM 文件夹中。

这是我的代码:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String formattedImageName = getDateString() + ".jpg";
File image_file = new File(this.getExternalFilesDir(Environment.DIRECTORY_PICTURES), formattedImageName);
Uri imageUri = Uri.fromFile(image_file);
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent, REQUEST_FROM_CAMERA);

如何防止将额外的图像副本保存到 DCIM 文件夹?

非常感谢

最佳答案

您可以使用以下内容:首先,我们通过检查哪个是最后修改的图像来获取最后保存的图像。然后检查最后修改时间是否在最后几秒。您可能还需要检查相机存储图像的确切位置。

private boolean deleteLastFromDCIM() {

boolean success = false;
try {
File[] images = new File(Environment.getExternalStorageDirectory()
+ File.separator + "DCIM/Camera").listFiles();
File latestSavedImage = images[0];
for (int i = 1; i < images.length; ++i) {
if (images[i].lastModified() > latestSavedImage.lastModified()) {
latestSavedImage = images[i];
}
}

// OR JUST Use success = latestSavedImage.delete();
success = new File(Environment.getExternalStorageDirectory()
+ File.separator + "DCIM/Camera/"
+ latestSavedImage.getAbsoluteFile()).delete();
return success;
} catch (Exception e) {
e.printStackTrace();
return success;
}

}

关于android - 停止使用 Android 原生相机保存照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8078892/

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