Я пытаюсь создать файл или каталог в android по приведенному ниже коду, но всегда его результаты «Directory not created».Ошибка при создании файлов в android
Первый метод, возвращающий «истина», что означает, что доступно внешнее хранилище.
I'v попробовал все примеры и команды в документации android here, и все они не работали.
Кроме того, я включил разрешение в Манифесты следующим образом:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Код:
public void createWorkbook(String fileName){
boolean CheckSDcard = isExternalStorageWritable();
if (!CheckSDcard){
Toast.makeText(ReportsPage.this, "SDCard not available", Toast.LENGTH_SHORT).show();
}
getStorageDir(fileName);
}
public File getStorageDir(String FileName) {
File file = new File(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), FileName);
if (!file.mkdirs()) {
Log.e(LOG_TAG, "Directory not created");
}
return file;
}
/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
Примечание: эмулятор «Nexus 5» и версия программного обеспечения 7.0 "Нугат".
Его немного запутывает, потому что почти все команды работают нормально и возвращают запрошенный путь, но при создании файла и проверке его на «mkdirs() или mkdir()» его возвращающее значение false, а URI - «NULL».
Кроме того, я проверил приложение на реальном устройстве «HUAWEI Mate 8» с Android версии 6.0 и дал те же результаты.
Любая помощь будет оценена, спасибо.
'если (! File.mkdirs())'. Вызывайте mkdirs только в том случае, если каталог не существует. Если mkdirs не удается, вы должны вернуть 'null', поэтому вызывающее приложение знает, что его нет. Примените свой код. – greenapps
'void createWorkbook'. Пустота? Сделайте его логической функцией, которая сообщает вам, есть ли у вас каталог или нет. – greenapps
mkdirs() возвращает true только в том случае, если каталог был создан командой. Я бы написал отдельный чек, чтобы узнать, существует ли он на самом деле. Вы уверены, что каталог не существует? –