即使在允许"MANAGE_EXTERNAL_STORAGE“权限后,我也无法删除内部存储中的文件夹。
File file = new File("/storage/emulated/0/T4");
file.delete();"file.delete();“不工作,但代码没有崩溃,文件夹仍然存在于Android11设备中。
提前感谢
发布于 2021-11-17 09:56:00
清单:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />MainActivity:
delete_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (Environment.isExternalStorageManager()){
File dir = new File(Environment.getExternalStorageDirectory() + "/T4");
boolean success = deleteFolder(dir);
// here you can check whether the folder has been deleted or not
if (success){
Toast.makeText(MainActivity.this, "Delete succeeded", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this, "Delete failed", Toast.LENGTH_SHORT).show();
}
}else {
Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
Uri uri = Uri.fromParts("package",getPackageName(),null);
intent.setData(uri);
startActivity(intent);
}
}else {
// other SDK version
}
}Delete方法
private boolean deleteFolder(File dir) {
File[] files = dir.listFiles();
if (files != null) {
for (File file : files) {
deleteFolder(file);
}
}
return dir.delete();
}发布于 2021-11-17 11:35:50
不能删除包含文件的文件夹。
https://stackoverflow.com/questions/70000857
复制相似问题