2016-06-29 3 views
-1

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, который мне нужен. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?

Примечания: Во второй попытке, тост приложения продолжает показывать папки создания

+2

Если ваш целевой sdk равен 23, вы должны проверить [эту ссылку] (https://developer.android.com/training/permissions/requesting.html) и посмотреть, исправляет ли запрос разрешения во время выполнения. – Vucko

+0

@Vucko Я не думаю, что это может быть проблемой, поскольку отображается «Созданная папка». –

+0

@ShadabAnsari вы можете видеть, что тост будет отображаться, если папка не существует, и если 'mkdirs()' не генерирует исключение? Он отобразит тост, даже если папка фактически не создана. – Vucko

ответ

0

Начиная с Android 6.0 (API уровня 23), пользователи предоставлять разрешение приложения в то время как приложение работает, не тогда, когда они установить приложение.

Если ваш целевой sdk равен 23, вы должны проверить this link и посмотреть, исправляет ли его запрос во время выполнения.

 Смежные вопросы

  • Нет связанных вопросов^_^