Vol*_*yrH 4 android android-10.0
我正在 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);
Run Code Online (Sandbox Code Playgroud)
我尝试使用其名称进行查询并调用 contentResolver.delete(...),但它不起作用。
我有权写入外部存储,但我不想使用 SAF。
我怎样才能删除这样的文件?
您需要使用调用insert 时获得delete的方法。ContentResolverUri
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");
}
Run Code Online (Sandbox Code Playgroud)
如果您没有存储 Uri,则需要执行query()、检索内容,然后调用delete。
| 归档时间: |
|
| 查看次数: |
6150 次 |
| 最近记录: |