栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

重命名由android 10中的应用程序创建的Mediastore的文件。正在使用Android API 30,但在API 29中显示错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重命名由android 10中的应用程序创建的Mediastore的文件。正在使用Android API 30,但在API 29中显示错误

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中重命名文件



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/569201.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号