java.lang.IllegalArgumentException:不允许移动内容:// media / external / file /
116,这不是定义明确的集合的一部分
因此,如果您使用集合,则不适用于Android Q;
Uri extUri = MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL);
但允许“定义明确的集合”,例如:
Uri extUri = MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL);// Use "Pictures/MyFolder" for RELATIVE_PATH
我留给您查找其他定义明确的集合。
为什么这仅适用于Android Q我不知道。
您可以在以下Java文件中看到该消息:https
:
//android.googlesource.com/platform/packages/providers/MediaProvider/+/refs/heads/master/src/com/android/providers/media/MediaProvider.java
引用:
// We only support movement under well-defined collections switch (match) { case AUDIO_MEDIA_ID: case VIDEO_MEDIA_ID: case IMAGES_MEDIA_ID: case DOWNLOADS_ID: break; default: throw new IllegalArgumentException("Movement of " + uri + " which isn't part of well-defined collection not allowed"); }
如果重命名失败,请使用SAF(如前所述)。如何在仅知道媒体内容Uri的Android中重命名文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)