Obwohl, was Google empfiehlt, verwenden Sie Camera2 Api> = 21, aber Sie könnten Probleme mit manuellen Einstellungen haben.
Wenn Sie eine App zum Aufnehmen von Fotos im automatischen Einstellungsmodus benötigen, funktioniert dies einwandfrei. Aber! Wenn Sie eine App mit der Implementierung des manuellen Einstellungsmodus erstellen müssen, müssen Sie für Geräte mit API> = 21 zunächst die unterstützte HARDWARE-EBENE überprüfen:
Wählen Sie die Kamera (Vorderseite, Gesicht), ermitteln Sie die Eigenschaften und überprüfen Sie die HARDWARE-EBENE.
mCameraCharacteristics = mCameraManager.getCameraCharacteristics(mCameraId)
val level = mCameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL)
CameraCharacteristics repräsentieren die nächsten unterstützten Ebenen: LIMITED, FULL, LEGACY, LEVEL_3, EXTERNAL.
Auf einem hohen Niveau sind die Niveaus:
LEGACY- Geräte arbeiten für ältere Android-Geräte in einem Abwärtskompatibilitätsmodus und verfügen nur über sehr eingeschränkte Funktionen.
LIMITED- Geräte stellen den Basisfeature-Satz dar und können auch zusätzliche Funktionen enthalten, die Teilmengen von FULL sind.
FULL- Geräte unterstützen zusätzlich die manuelle Steuerung von Sensor-, Blitz-, Objektiv- und Nachbearbeitungseinstellungen pro Frame sowie die Bilderfassung mit hoher Geschwindigkeit.
STUFE 3 Geräte unterstützen zusätzlich die YUV-Wiederaufbereitung und die RAW-Bilderfassung sowie zusätzliche Konfigurationen für den Ausgabestream.
Wenn Sie das LEGACY Supprot-Level erreicht haben, sollten Sie die alte Kamera- API verwenden .