代码之家  ›  专栏  ›  技术社区  ›  Allanrbo

安卓媒体商店API垃圾图片

  •  0
  • Allanrbo  · 技术社区  · 5 年前

    我的应用程序是使用默认相机应用程序拍摄的照片的照片管理器。我希望它将照片发送到“垃圾箱”,这样以后就可以在默认的照片应用程序中从垃圾箱中恢复照片。

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

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

    您使用什么API将使用相机应用程序拍摄的照片发送到垃圾桶?

    编辑:这是一张截图,以澄清我所说的“垃圾”是什么意思。

    what I mean by "trash"

    0 回复  |  直到 5 年前
        1
  •  1
  •   sdex    5 年前

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

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

        2
  •  -1
  •   Dipankar Baghel    5 年前

    回收或取消对文件或文件夹的跟踪

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

    • 请求资源元数据。
    • 检查isTrasable是否为真。
    • (可选)检查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);
      }
      

    您可以点击以下链接了解详细信息-

    trash and untrash