java - android File.delete() 方法返回 false
问题描述
我正在开发远程文件管理器应用程序,并使用此方法删除特定文件。
String[] executeDeleteFilesFromExpCommands(String path) {
String[] retval;
if (!HelperMethods.isStoragePermissionGranted(context)){
retval = new String[]{"exp_failed", "Permission Denied, you cant Delete files."};
return retval;
}
File dir = new File(path);
if (dir.exists()) {
if (!dir.canRead()) {
retval = new String[]{"exp_failed", "File [ "+dir.getName()+" ] inaccessible."};
}else {
boolean stat = dir.delete();
if (stat) {
retval = new String[]{"exp_success", "File [ "+dir.getName()+" ] Deleted."};
} else {
retval = new String[]{"exp_failed", "Delete File [ "+dir.getName()+" ] Failed, Try again."};
}
}
}else {
retval = new String[]{"exp_failed", "File [ "+dir.getName()+" ] not found."};
}
return retval;
}
boolean stat = dir.delete();
第一次在 API 28 及更低版本上完美运行。之后,我将 compileSdkVersion 从 28 更改为 29。
然后我的方法停止工作。
请指教。我将 compileSdkVersion 改回 28 并且没有任何变化。
解决方案
推荐阅读
- flyway - 如何扩展flyway支持的数据库?
- javascript - 为什么 add_action 钩子不执行 js 代码
- javascript - 当div位于父div顶部时的javascript触发事件
- css - TreeSelect 在 Modal 中使用它并尝试打开它以查看它的元素时隐藏在后面
- bash - 为什么在屏幕上使用 grep 不能正常工作?
- python - 文件“pandas\_libs\hashtable_class_helper.pxi”,第 998 行,在 pandas._libs.hashtable.Int64HashTable.get_item KeyError:3327
- google-cloud-platform - 如何获取谷歌云的所有 docker-machine 镜像列表
- java - 在idea java Scratch文件中不存在包org.apache.commons.lang3.time
- pcl6 - 手动创建 PCL?
- c - 野牛解析C语法时必须使用GLR算法吗?