Aunque, lo que Google recomienda usar Camera2 Api> = 21, pero podría tener problemas con la configuración manual.
Cuando necesite implementar la aplicación para tomar fotos con el Modo de configuración automática, funcionará bien. ¡Pero! Si necesita crear una aplicación con la implementación del Modo de configuración manual, para dispositivos que tienen API> = 21, en primer lugar, necesita verificar el NIVEL DE HARDWARE compatible:
Seleccione la cámara (frontal, frontal), obtenga las características y compruebe el NIVEL DE HARDWARE.
mCameraCharacteristics = mCameraManager.getCameraCharacteristics(mCameraId)
val level = mCameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL)
Las características de la cámara representan los siguientes niveles admitidos: LIMITADO, COMPLETO, LEGADO, NIVEL_3, EXTERNO.
En un nivel alto, los niveles son:
Los dispositivos LEGACY funcionan en un modo de compatibilidad con versiones anteriores para dispositivos Android más antiguos y tienen capacidades muy limitadas.
Los dispositivos LIMITADOS representan el conjunto de características de línea de base y también pueden incluir capacidades adicionales que son subconjuntos de FULL.
Los dispositivos COMPLETOS también admiten el control manual por cuadro de la configuración del sensor, flash, lente y posprocesamiento, y la captura de imágenes a alta velocidad.
Los dispositivos LEVEL_3 también admiten el reprocesamiento YUV y la captura de imágenes RAW, junto con configuraciones de flujo de salida adicionales.
Si obtuviste el nivel de soporte de LEGACY , debes usar la antigua Camera Api .