Android 6.0 RuntimeException:无法连接到摄像头服务

时间:2015-10-22 08:28:17

标签: 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);
    }

}

5 个答案:

答案 0 :(得分:26)

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

答案 1 :(得分:14)

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

答案 2 :(得分:8)

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

此外,您可以查看Nick的答案Here以获取多项权限

答案 3 :(得分:4)

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

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

答案 4 :(得分:1)

打开相机前添加相机权限:

按照链接添加权限: https://developer.android.com/training/permissions/requesting.html