Android 6.0 RuntimeException:无法连接到相机服务

Hel*_*nce 23 java android android-camera android-6.0-marshmallow

我的应用程序在Nexus5(Android6.0)中运行时出错.

错误是

java.lang.RuntimeException:无法连接到摄像头服务

我已将权限添加到AndroidManifest.xml.

但该应用程序可以使用另一部手机(Android5.1)和genymotion AVD(Android 4.0).

关键代码如下

 @Override
public void onResume() {
    super.onResume();
    try {
        mCamera = Camera.open();
    }catch (Exception e){
        Log.e(TAG,"open camera failed",e);
    }

}
Run Code Online (Sandbox Code Playgroud)

fah*_*ust 26

写在你的gradle.build targetSdkVersion 22.这是一个临时解决方案,但工作.

  • 这根本不奇怪.API级别<= 22不使用运行时权限,但是23.检查zzzmode的答案中的链接. (2认同)

小智 15

打开设置 - >应用程序 - >单击您的应用程序 - >权限 - >打开相机权限.
你可以看到:http: //developer.android.com/training/permissions/requesting.html


Ama*_*yan 10

这是因为,在Android 6.0中,权限模型是不同的.您必须实现新的权限模型,该模型要求运行时的权限.即使你不问它,你也可以在手机的应用程序设置中手动启用它,但是当你在游戏商店中发布你的应用程序时,这不是有效的. 是关于如何获取运行时权限的文章

此外,您可以在此处查看Nick的答案以获取多个权限


0xA*_*iHn 5

从android 6.0开始,您可以处理要授予或不授予应用程序特定权限的应用程序权限天气。在您的情况下,如果您未为您的应用启用相机权限,则可能会出现此问题。

因此,您需要从settings->apps->your_app->enable camera权限中启用权限。