Warum fehlt die HDR-Taste?

Dieser Artikel erwähnt einen neuen HDR-Kameramodus, der in Android 4.2 verfügbar ist:

Kameraeinstellrad in Android 4.2

aber mein Galaxy Nexus zeigt diese Option nicht an:

Kameraeinstellrad ohne HDR-Taste

Warum nicht?

Antworten (1)

Ich habe mir das jetzt ein wenig angesehen, da die Quelle für Android 4.2 draußen ist.

Es stellt sich heraus, dass HDR nicht von der Kamera-App selbst erstellt wird, sondern ein Szenenmodus ist, der von der Betriebssystemimplementierung und/oder den Treibern unterstützt werden muss.

Die Kamera-App entfernt die HDR-Schaltfläche, wenn:

  1. Sie befinden sich nicht auf API-Level 17 (Android 4.2) oder höher, oder;
  2. Camera.Parameters.getSupportedSceneModes() gibt null oder eine Liste zurück, die die Zeichenfolge „hdr“ nicht enthält .

Kurz gesagt, der HDR-Modus wird vom Kameratreiber des Betriebssystems selbst implementiert und kann nicht zur Standard-Kamera-App hinzugefügt werden, ohne sich mit der Betriebssystemquelle zu befassen. Ich habe dies noch nicht getan, aber wenn ich es herausfinde, werde ich ein Update posten.

Soweit ich weiß, gibt es einen Thread auf XDA , der erklärt, wie man eine durchgesickerte 4.2 camera.apk auf einem Galaxy Nexus zum Laufen bringt. Es ist also nicht im Treiber, es ist ein bisschen libcamera-Zeug (siehe die verlinkte .zip-Datei im Thread für mehr)
@ce4 Die Kamera-App ist abwärtskompatibel mit 4.1, aber wie gesagt, sie entfernt die HDR-Schaltfläche vom Bildschirm, wenn einer der beiden obigen Tests fehlschlägt. Die Kamera-App fordert nur den HDR-Modus vom Betriebssystem an, falls verfügbar. Ich habe die C++-Teile nicht ausgelesen, um zu sehen, ob es sich um das Betriebssystem oder den Treiber handelt, aber es ist sicherlich weder Teil der Kamera-/Galerie-Anwendung noch des Java Teile von Android.