首页 > 解决方案 > 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 并且没有任何变化。

标签: javaandroidandroid-studio

解决方案


推荐阅读