Warum fehlt die HDR-Taste?

Antworten:

11

Ich habe mir das jetzt angeschaut, da die Quelle für Android 4.2 nicht mehr verfügbar ist.

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

Die Kamera-App entfernt die HDR-Taste, wenn:

  1. Sie befinden sich nicht auf API-Stufe 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 Standardkamera-App hinzugefügt werden, ohne die Betriebssystemquelle zu untersuchen. Ich habe das noch nicht getan, aber wenn ich es herausfinde, werde ich ein Update veröffentlichen.

Gareth Davidson
quelle
Soweit ich weiß, gibt es auf XDA einen Thread , der erklärt, wie eine durchgesickerte 4.2 camera.apk auf einem Galaxy Nexus ausgeführt wird. Es ist also nicht im Treiber, es ist ein bisschen libcamera Zeug (siehe die verlinkte .zip im Thread für mehr)
ce4
@ ce4 Die Kamera-App ist abwärtskompatibel mit 4.1, aber wie gesagt, sie entfernt die HDR-Taste vom Bildschirm, wenn einer der beiden oben genannten Tests fehlschlägt. Die Kamera-App fordert nur den HDR-Modus vom Betriebssystem an, wenn dieser verfügbar ist. Ich habe die C ++ - Teile nicht als Quelle verwendet, um zu sehen, ob sie sich im Betriebssystem oder im Treiber befinden, aber sie sind sicherlich nicht Teil der Kamera- / Galerie-Anwendung oder von Java Teile von Android.
Gareth Davidson