Elige una biblioteca de cámaras

Si quieres agregar la funcionalidad de la cámara en una app para Android, tienes tres opciones principales:

Para la mayoría de los desarrolladores,se recomienda usar CameraX. CameraX es una biblioteca de Jetpack que admite la gran mayoría de los dispositivos Android (Android 5.0 y versiones posteriores) y proporciona una API coherente y de alto nivel diseñada en torno a casos de uso comunes. CameraX resuelve los problemas de compatibilidad con dispositivos por ti, de modo que no tienes que agregar código específico del dispositivo a tu app.

CameraX se compila sobre el paquete Camera2. Si necesitas un control de cámara de bajo nivel para admitir casos de uso complejos, Camera2 es una buena opción, pero la API es más compleja que CameraX. Requiere que administres configuraciones específicas de los dispositivos. Al igual que CameraX, Camera2 funciona en Android 5.0 (nivel de API 21) y versiones posteriores.

La clase Camera original de Android dejó de estar disponible. Las apps nuevas deben usar CameraX (recomendado) o Camera2, y las apps existentes deben migrarse para aprovechar las funciones nuevas y evitar perder compatibilidad con dispositivos futuros.