2013-02-20 5 views
6

Gibt es einen Mechanismus (entweder im SDK oder im NDK), um Informationen über den Anbieter (oder wirklich irgendwelche Informationen) über die aktuelle Anzeige abzurufen? Insbesondere hoffe ich zu finden, ob ein Display OLED vs. LCD vs. andere ist, da jedes OLED-Gerät, das ich getestet habe, schreckliche Farbtreue (Übersättigung) hat; und da Android keine Farbkorrektur hat, muss dies auf App-Ebene korrigiert werden. Als Fallback mit einer manuellen Liste von beliebten OLED-Geräten und eine Nachschlagen nach Gerätetyp ist theoretisch machbar, aber (a) gibt es eine ganze Menge von Geräten draußen und (b) Arbeiten am Gerät statt Display-Ebene fügt zusätzliche Komplexität für Geräte mit externen Displays. Selbst das Zusammenstellen dieser Liste wäre eine Herausforderung ...Erkennen des Anzeigetyps in Android

+0

Versuchen Sie 'Build.DISPLAY' Ich habe es nie verwendet, also kann ich nicht dafür bürgen, aber es kann etwas Nützliches enthalten. [Build docs] (https://developer.android.com/reference/android/os/Build.html) – FoamyGuy

+3

Build.DISPLAY ist offensichtlich als "eine anzeigbare (für den Benutzer) Version der Build-Kennung," nicht als "eine Kennung der physischen Anzeige." – addaon

+2

Ich glaube nicht, dass es einen API-Aufruf für diese Art von Informationen gibt. Ich nehme an, dass dies von einem herstellerspezifischen Gerätetreiber gehandhabt wird. Wenn Sie also den Quellcode des Android-Kerns überprüfen, finden Sie vielleicht einen Hinweis, wie Sie auf diese Treiber zugreifen können. Aber das ist nur eine vage Vermutung Sachen. – Ridcully

Antwort

0

Did ging an den Android-Code und ich fragte um eine Dose, mit großer Sicherheit sagen, es gibt keine API-Methode, die die Art der Anzeige zurückgibt.

+0

Also versucht niemand eine Farbkorrektur auf Android zu machen? – addaon

+0

@addaon Farbmanagement wäre eine nette Funktion für Android. Sicherlich ist es dringend für die verschiedenen Displays da draußen benötigt. –

0

Viele der Android Build Informationen stammen aus der Abfrage /proc Verzeichnis. Ich fing an, hier herumzustöbern, in der Hoffnung, etwas zu finden - aber es gibt viele Informationen, die man durchblättern sollte. Dies wäre ein guter Ausgangspunkt - oder Sie suchen sich woanders auf der Kommandozeile.

können Sie den Zeilenbefehl den Zugriff auf das Verzeichnis platform-tools durch Navigation und

./adb shell 

eingeben, wenn ein Gerät angeschlossen ist. Sie können auch Shell-Befehle aus dem Code ausführen: