2015-10-15 2 views
1

Я получаю эту ошибку после того, как разрешение было разрешено и активность была воссоздана.Android M Permission denied после того, как он был предоставлен

I/AppCompatDelegate: The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's 
    W/EGL_emulation: eglSurfaceAttrib not implemented 
    W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x9e23f960, error=EGL_SUCCESS 
    W/System.err: java.io.IOException: open failed: EACCES (Permission denied) 
    W/System.err:  at java.io.File.createNewFile(File.java:939) 
    W/System.err:  at java.io.File.createTempFile(File.java:1004) 

и

E/AndroidRuntime: java.lang.NullPointerException: file 
E/AndroidRuntime:  at android.net.Uri.fromFile(Uri.java:452) 

Код спросив разрешения является:

 if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || 
        ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { 
     ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 1); 
    } 

После аварии, когда я запустить приложение, я не вижу диалог разрешения и все работает отлично, Я могу открыть камеру с намерением. Я использую эмулятор. Nexus 5 API 23.

+0

Эта ошибка не связана с разрешениями для Android. Кажется, что проблема связана с файловой системой 'java.io.IOException: open failed: EACCES (Permission denied)'. –

+0

Возможно, но в следующий раз, когда я попробую, он работает нормально после получения разрешения. – SpyZip

+2

Это хорошо известная ошибка. Разрешения WRITE_EXTERNAL_STORAGE и READ_EXTERNAL_STORAGE предоставляются только после закрытия и открытия приложения. – greywolf82

ответ

1

Если вы добавили разрешение CAMERA к манифесту, но пользователь не предоставил его во время выполнения, вы заметите, что внешнее намерение захватить фотографию не удастся и выбросить SecurityException.

https://plus.google.com/+AndroidDevelopers/posts/e9kyM7VXajz

1

Это кажется ошибка в Android M. Может быть только на эмуляторе, хотя.

Это вопрос link на форуме google dev. https://code.google.com/p/android-developer-preview/issues/detail?id=2982

Владелец говорит:

Поскольку проблема все еще существует в эмуляторе 6.0, возобновление вопроса, но работает отлично на MRA58K устройств

Я все еще видеть это на эмуляторе также.