如何在 Android 10 和 Android 11 上从 SD 卡中删除文件夹及其内容

问题描述

我有一个在 android 上运行的应用程序,我将应用程序需要下载的一些文件保存在 sdcard 中,只有当用户想要使用外部存储而不是使用内部存储时,所以根据更新OS 10 和 OS 11 我们需要将所有内容迁移到范围存储以仅用于我的应用程序,将文件夹及其内容从 ex /storage/EREKD34/MyFolder 复制到 /storage/EREKD34/Android/data 的过程//MyFolder 有效,但为了避免重复文件,我需要删除文件夹“MyFolder”但删除文件功能不起作用,所以你有其他想法如何做到这一点

解决方法

我必须使用

Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
                intent.addCategory("android.intent.category.DEFAULT");
                intent.setData(Uri.parse(String.format("package:%s",getApplicationContext().getPackageName())));
                startActivityForResult(intent,REQUEST_CODE_STORAGE_PERMISSION);

授予删除文件夹的权限

DocumentFile document = getDocumentFile(file,false,true); 文档.delete();