我的应用在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);
}
}
答案 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