【发布时间】:2021-07-01 01:52:05
【问题描述】:
android documentation 表示 MediaStore createTrashRequest 函数需要一个 Uris 列表作为参数。当我执行搜索时,我可以看到有两种不同的 Uri:DocumentUri 和 MediaUri。但从文档中,我无法确定需要哪种 Uri 作为参数。
我尝试传递从 ACTION_PICK 意图返回的 Uri,但没有成功。错误是“java.lang.IllegalArgumentException: All requested items must be referenced by specific ID”
示例 Uri:content://com.google.android.apps.photos.contentprovider/-1/1/content://media/external/images/media/30/ORIGINAL/NONE/image/jpeg/118418547
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
ArrayList<Uri> imagesForDeletion = new ArrayList<Uri>();
Uri imageURI = data.getData();
imagesForDeletion.add(imageURI);
List<Uri> urisToModify = imagesForDeletion;
PendingIntent editPendingIntent = MediaStore.createTrashRequest(getContentResolver(), urisToModify, true);
try {
// Launch a system prompt requesting user permission for the operation.
startIntentSenderForResult(editPendingIntent.getIntentSender(), 101, null, 0, 0, 0);
} catch (Exception e) {
e.printStackTrace();
}
【问题讨论】: