2015-10-15 115 views
1

在允许权限和活动被重新创建后,我收到此错误。Android M在授予权限后被拒绝

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:打开失败:EACCES(权限被拒绝)'。 –

+0

可能,但下次尝试时,授予许可后工作正常。 – SpyZip

+2

这是一个众所周知的错误。 WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE权限仅在应用程序关闭并再次打开后才被授予。 – greywolf82

回答