Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android java lang runtimeexception no se puede conectar al servicio de cámara

Actualmente estoy trabajando en linterna encendido / apagado. Estoy recibiendo este error java.lang.RuntimeException: Fail to connect to camera service No sé por qué se está produciendo este error. Hice referencia a muchas soluciones, pero mi problema aún no se resolvió. Cuando la linterna está encendida, el error no ocurre pero cuando la linterna está apagada entonces el error ocurre.

Mi Código Código Principal .

  • Utilizar linterna de cámara en Android
  • Mi permiso de Manifiesto:

     <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus"/> 

  • Control de linterna en Marshmallow
  • Cómo encender la linterna Android
  • Utilizar linterna de cámara en Android
  • Controles de intensidad FlashLED
  • ¿Hay alguna manera de liberar una cámara de diferentes actividades después de adquirirlo de una actividad diferente.?
  • Linterna LED no funciona en Samsung Galaxy Nexus
  • 11 Solutions collect form web for “Android java lang runtimeexception no se puede conectar al servicio de cámara”

    prueba esto…

      static Camera camera = null; 

    Declararlo en la parte superior.

      try{ if(clickOn == true) { clickOn = false; camera = Camera.open(); Parameters parameters = camera.getParameters(); parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); camera.setParameters(parameters); camera.startPreview(); remoteViews.setViewVisibility(R.id.button1, View.GONE); remoteViews.setViewVisibility(R.id.button2, View.VISIBLE); localAppWidgetManager.updateAppWidget(componentName, remoteViews); } else { clickOn = true; camera.stopPreview(); camera.release(); camera = null; remoteViews.setViewVisibility(R.id.button1, View.VISIBLE); remoteViews.setViewVisibility(R.id.button2, View.GONE); localAppWidgetManager.updateAppWidget(componentName, remoteViews); } } catch(Exception e) { Log.e("Error", ""+e); } 

    Tuve el mismo problema que ninguna de las respuestas aquí resuelto, así que después de resolverlo estoy añadiendo mi manera de resolverlo. Esto se aplica a las nuevas versiones de Android que admiten los permisos de configuración por aplicación (desde Marshmallow, 6.0). El permiso para la cámara podría estar inhabilitado y debería estar habilitado desde la configuración de la aplicación. Configuración -> Aplicaciones -> [Tu aplicación] -> Permisos

    Más información sobre esto aquí: http://developer.android.com/training/permissions/requesting.html

    También vi este error:

    Java.lang.RuntimeException: No se puede conectar al servicio de cámara

    Mientras experimentaba con una aplicación de linterna. Resulta que estaba un poco descuidado con mis permisos y los copié en el cuerpo del bloque de aplicación en el archivo manifest.xml. Así que REALMENTE necesita obedecer la sintaxis como se documenta en:

    http://developer.android.com/guide/topics/manifest/manifest-element.html

    De lo contrario, la aplicación fallará con el error de conexión de servicio en la llamada Camera.open (). Debe ser similar a esto basado en sus permisos en la pregunta:

     <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus"/> <application 

    Asegúrese de que su permiso y la lista de funciones están contenidas sólo en la sección de manifiesto y no están enterradas en la sección de aplicaciones.

    Si su versión de OS es versión 6.0 o posterior intente esto, espero que esto ayude.

     public class RequestUserPermission { private Activity activity; // Storage Permissions private static final int REQUEST_EXTERNAL_STORAGE = 1; private static String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA }; public RequestUserPermission(Activity activity) { this.activity = activity; } public void verifyStoragePermissions() { // Check if we have write permission int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE); if (permission != PackageManager.PERMISSION_GRANTED) { // We don't have permission so prompt the user ActivityCompat.requestPermissions( activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE ); } } } **//CALL FROM YOUR ACTIVITY** RequestUserPermission requestUserPermission = new RequestUserPermission(this); requestUserPermission.verifyStoragePermissions(); 

    Este problema puede surgir en android 6.0 si no habilitó permiso de cámara para su aplicación. A partir de Android 6.0 puedes manejar el tiempo de permiso de la aplicación que darás o no permiso específico para una aplicación.

    Por lo tanto, debe habilitar el permiso de settings->apps->your_app->enable camera permission si no está habilitado.

    Si intenta abrir la cámara utilizando un ID de cámara que no existe, recibirá el mismo error (java.lang.RuntimeException: Error al conectarse al servicio de cámara)

    Mira tu código en este bloque

     camera.setParameters(parameters); camera.stopPreview(); camera.release(); camera = null; 

    release() llamada release() para liberar la cámara para su uso por otras aplicaciones. Las aplicaciones deben liberar la cámara inmediatamente en onPause() (y re-open () en onResume().

    En el código anterior imediately después de la liberación que está poniendo null a la cámara

    Hola espero que usted está tratando con una especie de antorcha de la aplicación o algo relacionado con flash y hubo muchas discusiones fueron sobre esto antes y aquí hay algunos enlaces útiles y tutoriales para lograr su necesidad, por favor, vaya a través de ellos espero que puedan ayudarle

    Cómo activar la luz del flash de la cámara de forma programática en Android?

    http://www.androidhive.info/2013/04/android-developing-flashlight-application/

    http://www.compiletimeerror.com/2013/08/how-to-turn-onoff-camera-led-flashlight.html#.U4WH5Xbc3o4

    http://android.programmerguru.com/android-flashlight-example/

    La respuesta simple que puedo encontrar a este problema es que no estaba pidiendo permiso de cámara para el usuario, y es por eso por defecto el permiso de cámara no estaba disponible para mi aplicación en los dispositivos Marshmallow. Simplemente agregé permiso de verificación de la cámara antes de iniciar la cámara y todo funciona bien.

    Intenta utilizar esta línea cuando salgas de la aplicación:

     System.exit(0); 

    Acabo de recibir un código de una aplicación de linterna de algún lugar. System.exit(0) para cerrar la aplicación. Lo quité, sabiendo que esto no es una buena práctica. Entonces comencé a recibir estos errores. Intenté la solución de la respuesta aceptada, pero luego comencé a recibir algunos otros errores. Así que, en vez de resolverlos, acabo de System.exit(0) esta línea System.exit(0) . Y, empezó a funcionar bien. Sé que esto no es una buena manera, pero para una pequeña aplicación de la linterna, usted puede intentar esta solución rápida.

    Si todo tu código está bien, deberías comprobar si hay alguna otra aplicación usando tu cámara. A continuación, debe cerrar otra aplicación que utiliza actualmente la cámara.

    Necesita stopPreview() y release() una vez que regrese de la cámara, para que otra aplicación pueda acceder a ella. Hacer que la clase "Cámara" sea estática y referirla como null en onPause() . Esto resuelve mi problema.

    Pruébalo:

      public class CameraPhotoCapture extends Activity{ static Camera mcamera = null; @Override protected void onPause() { // TODO Auto-generated method stub if (mcamera != null) { mcamera.stopPreview(); mcamera.release(); mcamera = null; Log.d(DEBUG_TAG, "releaseCamera -- done"); } super.onPause(); } @Override protected void onResume() { // TODO Auto-generated method stub if (mcamera != null) { Camera.open(); Log.d(DEBUG_TAG, "openCamera -- done"); } super.onResume(); } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.