gpt4 book ai didi

android - 如何删除我在 Android Q 中创建的文件?

转载 作者:行者123 更新时间:2023-12-05 00:13:48 25 4
gpt4 key购买 nike

我正在 DCIM 目录中保存图像,但在某些情况下,我需要将其删除。以前,我只调用了 image.delete(),其中图像是文件。但现在这张图片以另一种方式保存:

    contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, name);
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/png");
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, "DCIM" + File.separator + IMAGES_FOLDER_NAME);

Uri imageUri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
OutputStream fos = resolver.openOutputStream(imageUri);
boolean saved = bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);

我尝试使用它的名称进行查询并调用 contentResolver.delete(...),但它不起作用。

我有写外部存储的权限,但我不想使用 SAF。

如何删除这样的文件?

最佳答案

您需要使用ContentResolverdelete 方法,使用调用insert 时得到的Uri

 Uri imageUri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
OutputStream fos = resolver.openOutputStream(imageUri);
boolean saved = bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
......
int result = resolver.delete(imageUri, null, null);
if (result > 0) {
Log.d("Tag", "File deleted");
}

如果您没有存储 Uri,则需要执行 query(),检索内容,然后调用 delete

关于android - 如何删除我在 Android Q 中创建的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57358501/

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