Android 6.0 RuntimeException: No se puede conectar al servicio de cámara
Se ha producido un error con mi aplicación que se ejecutó en Nexus5 (Android6.0).
El error fue
- Cómo recortar un java stringbuilder?
- Ejecutar mensajes del controlador en un subproceso de fondo
- El archivo se guarda en UTF-8 pero símbolos extraños en lengua rusa
- Cómo hacer http obtener solicitud en Android
- Google Play detecta nuevos permisos después de usar Android Studio
Java.lang.RuntimeException: No se puede conectar al servicio de cámara
Había añadido el permiso a AndroidManifest.xml.
Pero la aplicación está bien con otro teléfono (Android5.1), y genymotion AVD (Android 4.0).
El código de clave está abajo
@Override public void onResume() { super.onResume(); try { mCamera = Camera.open(); }catch (Exception e){ Log.e(TAG,"open camera failed",e); } }
- Cómo crear una sugerencia útil en Android
- Haga que el temporizador de cuenta regresiva pase de 10sec a 1sec
- Obtención de resultados de año y mes resultantes extraños
- Contactos de AndroidContratar y crear en varias versiones de SDK
- Deshabilitar el modo horizontal para una aplicación completa
- Reproducción de MediaPlayer de Android tartamudea sobre auriculares con cable, no sobre Bluetooth
- ¿Cómo puedo grabar audio en Android y cambiar el tono?
- Android onServiceConnected () se llama en un hilo separado?
Escriba en su gradle.build targetSdkVersion 22. Es una solución temporal, pero el trabajo.
Abra Configuración -> Aplicaciones -> haga clic en su aplicación -> Permisos -> abra los permisos de la cámara.
Usted puede ver: http://developer.android.com/training/permissions/requesting.html
Esto sucede porque, en Android 6.0, el modelo de permiso es diferente. Debe implementar el nuevo modelo de permiso que solicita el permiso en tiempo de ejecución. Incluso si no lo pides, puedes habilitarlo manualmente en la configuración de la aplicación del teléfono, pero eso no funcionará correctamente cuando publiques tu aplicación en la tienda de reproducción. Aquí hay un artículo sobre cómo obtener permisos de tiempo de ejecución
También puede comprobar la respuesta de Nick aquí para obtener varios permisos
Desde 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. En su caso, si no activó el permiso de cámara para su aplicación, es posible que surjan estos problemas.
Por lo tanto, debe habilitar el permiso de settings->apps->your_app->enable camera
permission.
Añadir permiso de cámara antes de abrir la cámara:
Siga el enlace para agregar permisos: https://developer.android.com/training/permissions/requesting.html
- En el adaptador gridview, getView (position == 0) fue invocado demasiadas veces para medir el diseño cuando setImageBitmap () en un cargador
- Datepicker para Android min max date before api level 11