android Метод File.delete () возвращает false - PullRequest
0 голосов
/ 24 марта 2020

Я работаю над приложением удаленного файлового менеджера и использую этот метод для удаления указанного c файла.

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, и ничего не меняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...