Android MediaStore API 删除图像

Android MediaStore API to trash an image

我的应用程序是使用默认相机应用程序拍摄的照片的照片管理器。我希望它将照片发送到 "trash",以便以后可以在默认照片应用程序中从回收站中恢复它们。

API 文档中的示例显示了完全删除图像:https://developer.android.com/training/data-storage/shared/media#remove-item,但这会立即删除图像并且不会将图像发送到垃圾箱。

在 2019 年初的短短 1 个月内,MediaStore 上似乎有一个垃圾处理方法,但在一个月后就被弃用了:https://github.com/aosp-mirror/platform_frameworks_base/blame/2d330f6fa8bc0888a27bf1729844be8b0fe71c8b/core/java/android/provider/MediaStore.java#L843

你用什么API将用相机应用拍摄的照片发送到回收站?

编辑:这里有一张截图来阐明我所说的 "trash"。

删除或取消删除文件或文件夹

回收或取消回收资源的典型工作流程如下:

  • 请求资源元数据。
  • 检查 isTrashable 是否为真。
  • (可选)检查 isTrashed 是否为真。已经在调用垃圾 垃圾资源无效。
  • 称DriveResourceClient.trash或DriveResourceClient.untrash为 适用

    if (!metadata.isTrashable()) {
    showMessage(R.string.trashable_error);
    return;}
    
    DriveResource driveResource = metadata.getDriveId().asDriveResource();
    Task<Void> toggleTrashTask;
    if (metadata.isTrashed()) {
        toggleTrashTask = mDriveResourceClient.untrash(driveResource);
    } else {
        toggleTrashTask = mDriveResourceClient.trash(driveResource);
    }
    

详情可以关注下方link -

trash and untrash

没有这样的API。每个应用程序都有自己的私有垃圾桶实现,您无法与之交互。

UPD:在 android R 预览中添加了垃圾 API。 参见 https://developer.android.com/reference/android/provider/MediaStore#createTrashRequest(android.content.ContentResolver,%20java.util.Collection%3Candroid.net.Uri%3E,%20boolean)