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 -
没有这样的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)
我的应用程序是使用默认相机应用程序拍摄的照片的照片管理器。我希望它将照片发送到 "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 -
没有这样的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)