Ответ 1
Запишите в свой gradle.build targetSdkVersion 22. Это временное решение, но работайте.
Произошла ошибка с моим приложением, которое выполнялось в Nexus5 (Android6.0).
Ошибка была
java.lang.RuntimeException: Не удается подключиться к службе камеры
Я добавил разрешение на AndroidManifest.xml.
Но приложение в порядке с другим телефоном (Android5.1) и genymotion AVD (Android 4.0).
key code находится ниже
@Override
public void onResume() {
super.onResume();
try {
mCamera = Camera.open();
}catch (Exception e){
Log.e(TAG,"open camera failed",e);
}
}
Запишите в свой gradle.build targetSdkVersion 22. Это временное решение, но работайте.
откройте Настройки → Приложения → щелкните приложение → Разрешения → Открыть разрешения камеры.
ты можешь видеть:
http://developer.android.com/training/permissions/requesting.html
Это происходит потому, что в Android 6.0 модель разрешения отличается. Вы должны реализовать новую модель разрешения, которая запрашивает разрешение на время выполнения. Даже если вы не спрашиваете об этом, вы можете включить его вручную в настройках телефона, но это не работает, когда вы публикуете свое приложение в магазине воспроизведения. Здесь - статья о том, как получить разрешения времени выполнения
Также вы можете проверить Nick здесь для получения нескольких разрешений
От android 6.0 вы можете обрабатывать разрешение на разрешение приложения, которое вы предоставите или не имеете специального разрешения для приложения. В вашем случае, если вы не разрешили разрешение камеры для своего приложения, тогда могут возникнуть проблемы.
Итак, вам нужно разрешить разрешение с разрешения settings->apps->your_app->enable camera
.
Добавить разрешение камеры перед открытием камеры:
следуйте ссылке для добавления разрешений: https://developer.android.com/training/permissions/requesting.html