我写了一个重命名文件的解决方案,但在Android 10中什么也没发生,尽管在11及以上版本中它通常会重命名。
public class PathDiv {
public static String dev(String path){
return path.replaceAll("^(.*)/.*?$","$1");
}
public static void renameFilesInDir(String path, String dirIn, String ext) {
File checkFile = new File(path);
if (checkFile.isFile()) {
try {
checkFile.renameTo(new File(dirIn, ext));
} catch (Exception e) {
e.printStackTrace();
}
}
}
路径:/storage/emulated/0/音乐/04。Kasger -高地. mp3目录输入:/存储/模拟/0/音乐扩展名:Highland.mp3
PathDiv.renameFilesInDir(songItem.realUri,PathDiv.dev(songItem.realUri),newName.toString())
有什么问题吗?
1条答案
按热度按时间lg40wkob1#
在Android 10及更高版本的Android中,您无法直接发送
Rename
或Delete
。对于Rename
或Delete
,您需要发送请求的媒体文件。阅读Android官方文档如何创建请求
供您参考,删除媒体文件依赖Available here您可以轻松地使用它,它是由我创建的
checkFile.renameTo(new File(dirIn, ext));
它也适用于此您想要在应用中添加ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION
权限,但在使用此权限之前,请参阅Google Play警察更新