Android camera java lang runtimeexception

android java lang runtimeexception не удается подключиться к службе камеры

в настоящее время я работаю над включением/выключением фонарика. Я получаю эту ошибку java.lang.RuntimeException: Fail to connect to camera service Я не знаю, почему эта ошибка возникает. Я ссылался на многие решения, но моя проблема все еще не была решена. Когда фонарик включен, ошибка не возникает, но когда фонарик выключен, то возникает ошибка.

Код Основной Код.

мое явное разрешение:

12 ответов

объявить его сверху.

У меня была та же проблема, что ни один из ответов здесь не решен, поэтому после ее решения я добавляю свой способ ее решения. Это относится к новым версиям android, которые поддерживают настройку разрешений для каждого приложения (начиная с Marshmallow, 6.0). Разрешение для камеры может быть отключено и должно быть включено в настройках приложения. Настройки — > Приложения — > [Ваше Приложение] — > Разрешения

Я также видел эту ошибку:

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

экспериментируя с фонариком. Оказывается, я был немного небрежен с моими разрешениями и скопировал их в тело блока приложения в манифесте.XML-файл. Поэтому вам действительно нужно подчиняться синтаксису, как описано в:

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

убедитесь, что ваши разрешения и список функций содержатся только в разделе манифеста, а не похоронены в разделе приложения!

эта проблема может возникнуть в Android 6.0 если вы не включили разрешение камеры для вашего приложения. Начиная с Android 6.0 вы можете обрабатывать разрешение приложения Погода вы дадите или не конкретное разрешение для приложения.

Итак, вам нужно включить разрешение settings->apps->your_app->enable camera permission если он еще не включен.

Если ваша версия ОС 6.0 или более поздней версии попробуйте это, надеюсь, это поможет.

если вы попытаетесь открыть камеру с помощью cameraID, который не существует, вы получите ту же ошибку (java.ленг.RuntimeException: не удается подключиться к службе камеры)

посмотреть код в этом блоке

вызов release() чтобы освободить камеры для использования другими приложениями. Приложения должны немедленно освободить камеру в onPause() (и повторно открыть () его в onResume().

в приведенном выше коде сразу после выпуска вы помещаете null в камера

Привет я надеюсь, что вы имеете дело с факелом своего рода приложение или что-то, связанное с flash, и было много дискуссий пошли на это раньше, и вот некоторые полезные ссылки и учебники для достижения вашей потребности, пожалуйста, пройти через них надеюсь, что они могут помочь вам

простой ответ, который я могу найти на эту проблему, заключается в том, что я не просил разрешения камеры для пользователя, и поэтому по умолчанию разрешение камеры не было доступно для моего приложения на устройствах Marshmallow. Я просто добавил проверку разрешений для камеры перед запуском камеры, и все работает нормально.

попробуйте использовать эту строку, когда вы выходите из приложения:

Я только что получил код приложения фонарик откуда-то. Он использовал System.exit(0) закрыть приложение. Я убрал его, зная, что это не лучшая практика. Затем я начал получать эти ошибки. Я попробовал решение принятого ответа, но затем я начал получать некоторые другие ошибки. Поэтому, вместо того, чтобы решать их, я просто положил это System.exit(0) линия спины. И он начал работать нормально. Я знаю, что это не очень хороший способ, но для небольшого приложения для фонарика вы можете попробовать это быстрое решение.

Если весь ваш код в порядке, вы должны проверить, есть ли какое-либо другое приложение с помощью камеры. Затем вы должны закрыть другое приложение, которое в настоящее время использует вашу камеру.

Читайте также:  Виджет температура батареи андроид

вам нужно stopPreview() и release() Как только вы вернулись с камеры, так что другое приложение может получить к нему доступ. Сделайте класс» Camera » статическим и назовите его null на onPause() . Это решает мою проблему.

в моем Android peoject имеет ту же проблему. Это моя ошибка Logcat

03-29 19:26:04.194 224-608/? V / EmulatedCamera_BaseCamera: getCameraInfo 03-29 19:26: 04.196 224-224/? I / CameraService: CameraService:: подключение вызова (PID -1 «com.proitzen.staffapp», ID камеры 1) для версии по умолчанию HAL и версии API камеры 1 03-29 19: 26:04.196 224-224/? W / ServiceManager: ошибка разрешения: андроид.разрешение.Камера от uid=10067 pid=1776 03-29 19: 26: 04.196 224-224/? E / CameraService: отказ в разрешении: невозможно использовать камеру pid=1776, uid=10067 03-29 19:26:04.196 1776-1776/com.proitzen.staffapp W / CameraBase: произошла ошибка при подключении к камере 1: сервис недоступно 03-29 19: 26: 04.200 1776-1776 / com.proitzen.staffapp D / AndroidRuntime: завершение работы VM

никакие вышеуказанные решения не работали для меня. Мое приложение для android работало на физических устройствах android и давало вышеуказанную ошибку только в Как Genymotion.

решение: запустите эмулятор Genumotion Настройки — > приложения — — — > выберите приложение — > разрешения — > включить камеру и микрофон и хранение.

Источник

Android java lang runtimeexception не может подключиться к службе камеры

В настоящее время я работаю над включением / выключением фонарика. Я получаю эту ошибку java.lang.RuntimeException: Fail to connect to camera service Не удается java.lang.RuntimeException: Fail to connect to camera service Я не знаю, почему эта ошибка происходит. Я упомянул о многих решениях, но моя проблема все еще не решена. Когда фонарик включен, ошибка не возникает, но когда фонарик выключен, возникает ошибка.

Основной код моего кода .

Разрешение моего манифеста:

Объявите его сверху.

У меня была такая же проблема, что ни один из ответов здесь не был решен, поэтому после его решения я добавляю свой способ решения проблемы. Это относится к новым версиям Android, поддерживающим настройку разрешений для каждого приложения (начиная с Marshmallow, 6.0). Разрешение на камеру может быть отключено и должно быть включено из настроек приложения. Настройки -> Приложения -> [Ваше приложение] -> Разрешения

Я также видел эту ошибку:

Java.lang.RuntimeException: Не удается подключиться к службе камеры

Экспериментируя с приложением flashlight. Оказывается, я был немного неряшлив с моими разрешениями и скопировал их в тело блока приложения в файле manifest.xml. Поэтому вам действительно нужно подчиняться синтаксису, как описано в:

В противном случае приложение будет терпеть неудачу при сбое подключения к службе на вызове Camera.open (). Он должен выглядеть так, основываясь на ваших разрешениях в вопросе:

Убедитесь, что ваше разрешение и список функций содержатся только в разделе манифеста и не захоронены в разделе приложения!

Если ваша версия os версии 6.0 или более поздней версии попробуйте это, надеюсь, что это поможет.

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

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

Если вы попытаетесь открыть камеру с помощью идентификатора камеры, который не существует, вы получите ту же самую ошибку (java.lang.RuntimeException: Fail to Connect to camera service)

Посмотрите на свой код на этом блоке

Вызов release() чтобы освободить камеру для использования другими приложениями. Приложения должны немедленно отпустить камеру в onPause() (и снова открыть () в onResume().

В приведенном выше коде сразу после выпуска вы помещаете нуль в камеру

Привет, я надеюсь, что вы имеете дело с факельным видом приложения или что-то связанное с флеш-памятью, и было много дискуссий по этому поводу раньше, и вот несколько полезных ссылок и руководств для достижения ваших потребностей, пожалуйста, пройдите через них, надеюсь, они могут вам помочь

Как программно включить флэш-память камеры в Android?

Простой ответ, который я могу найти в этой проблеме, заключается в том, что я не просил разрешения на камеру для пользователя, поэтому по умолчанию разрешение камеры для моего устройства не было доступно для устройств Marshmallow. Я просто добавил проверку доступа к камере перед запуском камеры, и все работает нормально.

Попытайтесь использовать эту строку, когда вы выходите из приложения:

Читайте также:  Custom view android with inflate

Я откуда-то получил код приложения для фонарика. Он использовал System.exit(0) чтобы закрыть приложение. Я удалил его, зная, что это не очень хорошая практика. Затем я начал получать эти ошибки. Я попробовал решение принятого ответа, но потом начал получать некоторые другие ошибки. Поэтому вместо их решения я просто вернул эту строку System.exit(0) . И он начал нормально работать. Я знаю, что это не очень хорошо, но для небольшого приложения для фонарей вы можете попробовать это быстрое решение.

Если весь ваш код в порядке, вы должны проверить, есть ли другое приложение, использующее вашу камеру. Затем вы должны закрыть другое приложение, которое в настоящее время использует вашу камеру.

Вам нужно stopPreview() и release() после того, как вы вернулись с камеры, чтобы другое приложение могло получить к нему доступ. Сделайте класс «Камера» статичным и onPause() его как null в onPause() . Это разрешает мою проблему.

Источник

java.lang.RuntimeException: Fail to connect to camera service #76

Comments

hypeapps commented Aug 31, 2016

Hello, amazing library. I used QrcodeReaderView in my app:
Endoscope GitHub.

On my android 5.0 Huawe p8 lite and Lg L fino 4.4 everything works fine. But i get many issues and crash report about this. This appears only on 6.0 and 7.0 android.

QrCodeReaderView implementation in Endoscope: Link to github
Error Message:

The text was updated successfully, but these errors were encountered:

dlazaro66 commented Aug 31, 2016

this is not a QRCodeReaderView issue, since you need to check the Camera permission in runtime before using the view (please check: http://developer.android.com/intl/pt-br/training/permissions/index.html)

You can check the sample project, and see how we implemented the permission request before start the camera preview.

hypeapps commented Aug 31, 2016

@dlazaro66 thank you! I added request permission and everything works ok on emulator.

juanlabrador commented Nov 16, 2016

I have the same problem.

Change the class exception here!

@OverRide public void surfaceCreated(SurfaceHolder holder) <
Log.d(TAG, «surfaceCreated»);

saidnawab commented Apr 29, 2017

hello dears i use this code to make a flash light with strobe mode but it not working for me

import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.SeekBar;
import android.os.AsyncTask;

import static android.R.id.progress;

public class MainActivity extends AppCompatActivity <
SeekBar seekBar;
ImageButton imageButton;
Camera camera;
Camera.Parameters parameters;
boolean isflash = false;
boolean isOn = false;

neonwarge04 commented May 12, 2017

I am not even running on Android 6 and this even happens on Android 5. When closing my activity with QR scanner, this crashes.

TugbaGonultas commented Nov 14, 2017

I am not using 6.0 but I take same error. I tried onResume and onPause method. But same error continue. Also my app is crashes @neonwarge04 similary. I am using Android 4.4.
Does anyone have an idea?

NilaxSpaceo commented Jan 11, 2018

I am also facing same issue in Android 5.0. Does anyone have solution regarding this?

Moctar-Haiz commented Apr 21, 2018

I came up with the same problem and I’m sharing how I fixed it. It may help some people.

First, check your Android version. If it is running on Android 6.0 and higher (API level 23+), then you need to :

  1. Declare a permission in the app manifest. Make sure to insert the permission above the application tag.

Then, request that the user approve each permission at runtime

For more information, have a look at the API documentation here

Источник

android java lang runtimeexception не удается подключиться к службе камеры

В настоящее время я работаю над включением / выключением фонарика. Я получаю эту ошибку java.lang.RuntimeException: Fail to connect to camera service Я не знаю, почему возникает эта ошибка. Я сослался на множество решений, но моя проблема все еще не решена. Когда фонарик включен, ошибка не возникает, но когда фонарик выключен, возникает ошибка.

Мое разрешение на манифест:

14 ответов

Объявить это сверху.

У меня была та же проблема, что ни один из ответов здесь не решил, поэтому после ее решения я добавляю свой способ ее решения. Это относится к новым версиям Android, которые поддерживают установку разрешений для каждого приложения (начиная с Marshmallow, 6.0). Разрешение для камеры можно отключить, и его следует включить в настройках приложения. Настройки -> Приложения -> [Ваше приложение] -> Разрешения

Читайте также:  Работающий скайп для андроид

Я тоже видел эту ошибку:

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

Во время экспериментов с приложением фонарика. Оказалось, что я был немного неаккуратен со своими разрешениями и скопировал их в тело блока приложения в файле manifest.xml. Таким образом, вам ДЕЙСТВИТЕЛЬНО нужно соблюдать синтаксис, описанный в:

В противном случае приложение выйдет из строя из-за сбоя подключения службы при вызове Camera.open (). Это должно выглядеть так, в зависимости от ваших разрешений в вопросе:

Убедитесь, что ваше разрешение и список функций содержится только в разделе манифеста, а не в разделе приложения!

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

Итак, вам нужно включить разрешение от settings->apps->your_app->enable camera permission , если оно еще не включено.

Если у вас версия ОС 6.0 или более поздняя, ​​попробуйте это, надеюсь, это поможет.

Если вы попытаетесь открыть камеру с использованием несуществующего идентификатора камеры, вы получите ту же ошибку (java.lang.RuntimeException: не удалось подключиться к службе камеры)

Посмотрите на свой код в этом блоке

Позвоните release() , чтобы освободить камеру для использования другими приложениями. Приложения должны немедленно освободить камеру в onPause() (и повторно открыть () ее в onResume().

В приведенном выше коде сразу после выпуска вы помещаете null в камеру

Привет, я надеюсь, что вы имеете дело с приложением типа фонарика или чем-то связанным со вспышкой, и раньше было много дискуссий по этому поводу, и вот несколько полезных ссылок и руководств для удовлетворения ваших потребностей, пожалуйста, просмотрите их, надеюсь, они могут вам помочь

Вам нужно будет stopPreview() и release() , когда вы вернетесь с камеры, чтобы другое приложение могло получить к нему доступ. Сделайте класс «Camera» статическим и назовите его null в onPause() . Это решает мою проблему.

Простой ответ, который я могу найти на эту проблему, заключается в том, что я не запрашивал разрешение камеры у пользователя, и поэтому по умолчанию разрешение камеры не было доступно моему приложению на устройствах Marshmallow. Я просто добавил проверку разрешений для камеры перед запуском камеры, и все работает нормально.

Проверьте разрешение камеры во время выполнения и запросите разрешение, если оно не было предоставлено. Меня устраивает.

Попробуйте использовать эту строку при выходе из приложения:

Я только что получил откуда-то код приложения Flashlight. Он использовал System.exit(0) , чтобы закрыть приложение. Я удалил его, зная, что это не очень хорошая практика. Потом я начал получать эти ошибки. Я попробовал решение принятого ответа, но потом начал получать другие ошибки. Поэтому вместо того, чтобы решать их, я просто вернул эту строку System.exit(0) . И он начал нормально работать. Я знаю, что это не лучший способ, но для небольшого приложения для фонарика вы можете попробовать это быстрое решение.

Установите необходимое разрешение в файле Mainfest.

Спросите разрешение принять камеру.

Это сработает для меня

Если весь ваш код в порядке, вы должны проверить, есть ли другие приложения, использующие вашу камеру. Затем вам следует закрыть другое приложение, которое в настоящее время использует вашу камеру.

В моем андроидном проекте есть такая же проблема. Это моя ошибка Logcat

03-29 19: 26: 04.194 224-608 /? V / EmulatedCamera_BaseCamera: getCameraInfo 03-29 19: 26: 04.196 224-224 /? I / CameraService: CameraService :: connect call (PID -1 «com.proitzen.staffapp», ID камеры 1) для версии HAL по умолчанию и версии Camera API 1 03-29 19: 26: 04.196 224-224 /? W / ServiceManager: Ошибка разрешения: android.permission.CAMERA from uid = 10067 pid = 1776 03-29 19: 26: 04.196 224-224 /? E / CameraService: Permission Denial: невозможно использовать камеру pid = 1776, uid = 10067 03-29 19: 26: 04.196 1776-1776 / com.proitzen.staffapp W / CameraBase: произошла ошибка при подключении к камере 1: Служба недоступна 03-29 19: 26: 04.200 1776-1776 / com.proitzen.staffapp D / Android Время выполнения: Завершение работы ВМ

Никакие вышеперечисленные решения не помогли мне. Мое приложение для Android работало на физических устройствах Android и выдавало указанную выше ошибку только в Genymotion.

Решение: запустите настройки эмулятора Genumotion -> Приложения -> выберите приложение -> Разрешения -> включите камеру, микрофон и хранилище.

Источник

Оцените статью