Android 6.0 RuntimeException: не удается подключиться к службе камеры

Произошла ошибка с моим приложением, которое работало в 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); } } 

Solutions Collecting From Web of "Android 6.0 RuntimeException: не удается подключиться к службе камеры"

Напишите в своем gradle.build targetSdkVersion 22. Это временное решение, но работа.

Откройте Настройки -> Приложения -> щелкните приложение -> Разрешения -> откройте разрешения камеры.
Вы можете увидеть: http://developer.android.com/training/permissions/requesting.html

Это происходит потому, что в Android 6.0 модель разрешения отличается. Вы должны реализовать новую модель разрешения, которая запрашивает разрешение на время выполнения. Даже если вы не спросите об этом, вы можете вручную включить его в настройках приложения телефона, но это не работает, когда вы публикуете свое приложение в магазине воспроизведения. Вот статья о том, как получить разрешения времени выполнения

Также вы можете проверить ответ Ника для получения нескольких разрешений

Начиная с android 6.0 вы можете обрабатывать разрешение на разрешение приложения, которое вы предоставите или не имеете специального разрешения для приложения. В вашем случае, если вы не разрешили разрешение камеры для своего приложения, тогда могут возникнуть проблемы.

Таким образом, вам необходимо включить разрешение из settings->apps->your_app->enable camera разрешение settings->apps->your_app->enable camera .

Добавление разрешения камеры перед открытием камеры:

Следуйте ссылке для добавления разрешений: https://developer.android.com/training/permissions/requesting.html