2015-10-30 7 views
0

Ниже приведен код, который я используюНевозможно создать папку программно

String root = Environment.getExternalStorageDirectory().getAbsolutePath().toString(); 
File filepathname = new File(root+"/newfolder"); 
if(filepathname.mkdir()) 
    Toast.makeText(this,"directory created", Toast.LENGTH_SHORT).show(); 
else 
    Toast.makeText(this,"directory not created", Toast.LENGTH_SHORT).show(); 

Я попробовал этот код в Moto E (бег Lollipop) и Nexus 5 (работает зефир). Папка создается в Moto, но не в Nexus 5.

Я смог создать папку в Nexus 5 перед обновлением до Marshmallow.

Это известная проблема в android M? Есть ли работа? Или кто-нибудь может обнаружить любую проблему в коде.

Примечания:

  1. Приведенный выше код находится в onCreate() моей пусковой деятельности,

  2. Ниже разрешение также есть в файле манифеста:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    
  3. "newfolder" уже не существует.

+0

@IntelliJAmiya : Это проблема зефира. Ваша ссылка здесь недействительна. – Atul

ответ

4

На мой взгляд, у вас нет прав на создание папки. Если целевой показатель вашего приложения составляет 23 или выше, вам необходимо прочитать о новых разрешениях во время выполнения.

Here вы можете найти официальную документацию.

0

код выглядит хорошо, и это должно работать, но, как вы говорите, это не Попробуйте с filepathname.exists() проверить ... Нет необходимости включать какие-либо другие права WRITE_EXTERNAL_STORAGE будут делать ...

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