Android Manifest PermissionsFile.mkdirs() не создает папки - Android Зефир (API 23)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Java файл (Первая попытка)
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/newAppFolder";
File dir = new File(path);
dir.mkdirs();
Java файл (вторая попытка)
String state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state)) {
File dir = new File(Environment.getExternalStorageDirectory(), "newAppFolder");
if(!dir.exists()) {
dir.mkdirs();
Toast.makeText(getApplicationContext(), "Folder Created", Toast.LENGTH_LONG).show();
}
else
Toast.makeText(getApplicationContext(), "Folder exists", Toast.LENGTH_LONG).show();
}
else
Toast.makeText(getApplicationContext(), "SD Card Not Found", Toast.LENGTH_LONG).show();
К сожалению, ни одна попытка не создает файл newAppFolder, который мне нужен. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?
Примечания: Во второй попытке, тост приложения продолжает показывать папки создания
Если ваш целевой sdk равен 23, вы должны проверить [эту ссылку] (https://developer.android.com/training/permissions/requesting.html) и посмотреть, исправляет ли запрос разрешения во время выполнения. – Vucko
@Vucko Я не думаю, что это может быть проблемой, поскольку отображается «Созданная папка». –
@ShadabAnsari вы можете видеть, что тост будет отображаться, если папка не существует, и если 'mkdirs()' не генерирует исключение? Он отобразит тост, даже если папка фактически не создана. – Vucko