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 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 las 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 se deben migrar para aprovechar las funciones nuevas y evitar perder compatibilidad con dispositivos futuros.