在允许权限和活动被重新创建后,我收到此错误。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.
此错误与Android权限无关。它似乎是一个文件系统相关的问题'java.io.IOException:打开失败:EACCES(权限被拒绝)'。 –
可能,但下次尝试时,授予许可后工作正常。 – SpyZip
这是一个众所周知的错误。 WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE权限仅在应用程序关闭并再次打开后才被授予。 – greywolf82