Untersuchungen deuten darauf hin, dass blaues Licht von Bildschirmen einen negativen Einfluss
Schlaf. Mit Android 7.1.1 wurde eine Funktion namens Nachtlicht eingeführt, die die
Menge an blauem Licht, die vom Display des Geräts abgestrahlt wird, um den natürlichen Lichtverhältnissen
Tageszeit und Standort der Nutzenden. Mit Android 8.0 wurde eine zusätzliche
-Funktion, mit der Nutzer die Intensität des Nachtlicht-Effekts besser steuern können.
Mit Android 10
COLOR_DISPLAY_SERVICE
-Systemdienst mit einer System-API
um dem System, den Einstellungen und der System-UI mehr Kontrolle über alle Farben
Transformationen, einschließlich Nachtlicht.
Für die Funktion „Nachtlicht“ ist ein
Heimwerkerbedarf
Composer HAL 2.0-Implementierung (HWC 2), die die an
setColorTransform
, um die Tönung ohne Auswirkungen auf die Stromversorgung durchzuführen,
Leistung und App-Kompatibilität.
Implementierung
Gerätehersteller können die Standardimplementierung der Funktion aktivieren, indem sie
Dabei werden folgende Flags verwendet:
frameworks/base/core/res/res/values/config.xml
<!-- Control whether Night display is available. This should only be enabled on devices with HWC 2 color transform support. --> <bool name="config_nightDisplayAvailable">false</bool> <!-- Default mode to control how Night display is automatically activated. One of the following values (see NightDisplayController.java): 0 - AUTO_MODE_DISABLED 1 - AUTO_MODE_CUSTOM 2 - AUTO_MODE_TWILIGHT --> <integer name="config_defaultNightDisplayAutoMode">0</integer> <!-- Default time when Night display is automatically activated. Represented as milliseconds from midnight (e.g. 79200000 == 10pm). --> <integer name="config_defaultNightDisplayCustomStartTime">79200000</integer> <!-- Default time when Night display is automatically deactivated. Represented as milliseconds from midnight (e.g. 21600000 == 6am). --> <integer name="config_defaultNightDisplayCustomEndTime">21600000</integer> <!-- Minimum color temperature, in Kelvin, supported by Night display. --> <integer name="config_nightDisplayColorTemperatureMin">2596</integer> <!-- Default color temperature, in Kelvin, to tint the screen when Night display is activated. --> <integer name="config_nightDisplayColorTemperatureDefault">2850</integer> <!-- Maximum color temperature, in Kelvin, supported by Night display. --> <integer name="config_nightDisplayColorTemperatureMax">4082</integer>
Der Code ist in Framework, Systemdienste, System-UI und Einstellungen unterteilt. Die
Hauptfunktion wird von ColorDisplayManager
gesteuert (unterstützt durch
ColorDisplayService
).
Gerätehersteller sollten den Farbverlauf an die Eigenschaften des
Anzeigefeld des Geräts angezeigt, einschließlich Weißpunkt, Farbumfang und gewünschter Farbe. Sie können die
ohne die Basisimplementierung mithilfe eines Konfigurations-Overlays zu ändern.
Diese Konfiguration wird als quadratische Gleichung für Rot, Grün und Blau ausgedrückt.
in der Form vres = vat2 + vbt + vy-int.
wobei t die Temperatur in Kelvin ist, angegeben im Bereich zwischen
config_nightDisplayColorTemperatureMin
und
config_nightDisplayColorTemperatureMax
(wie beschrieben)
im vorherigen Abschnitt) und va, vb und vy-int sind die
a-Koeffizient, b-Koeffizient und y-Achsenabschnitt für die gegebene Primärkurve,
wie unten angegeben.
<string-array name="config_nightDisplayColorTemperatureCoefficientsNative"> <!-- R a-coefficient --> <item>0.0</item> <!-- R b-coefficient --> <item>0.0</item> <!-- R y-intercept --> <item>1.0</item> <!-- G a-coefficient --> <item>-0.00000000962353339</item> <!-- G b-coefficient --> <item>0.000153045476</item> <!-- G y-intercept --> <item>0.390782778</item> <!-- B a-coefficient --> <item>-0.0000000189359041</item> <!-- B b-coefficient --> <item>0.000302412211</item> <!-- B y-intercept --> <item>-0.198650895</item> </string-array> <string-array name="config_nightDisplayColorTemperatureCoefficients"> <!-- R a-coefficient --> <item>0.0</item> <!-- R b-coefficient --> <item>0.0</item> <!-- R y-intercept --> <item>1.0</item> <!-- G a-coefficient --> <item>-0.00000000962353339</item> <!-- G b-coefficient --> <item>0.000153045476</item> <!-- G y-intercept --> <item>0.390782778</item> <!-- B a-coefficient --> <item>-0.0000000189359041</item> <!-- B b-coefficient --> <item>0.000302412211</item> <!-- B y-intercept --> <item>-0.198650895</item> </string-array>
UI-Funktionen
Da das Nachtlicht eine für den Nutzer sichtbare Funktion ist, müssen Nutzende
. Die Einstellungen sind vollständig in Android Open Source implementiert.
Projekt (AOSP)
Pakete/Apps/Einstellungen
Projekt, auf das sich Gerätehersteller für ihre Einstellungen beziehen können
Implementierung. Implementierungen müssen
Settings.ACTION_NIGHT_DISPLAY_SETTINGS
um diese Einstellung verfügbar zu machen.
Einstellungen
Die Einstellungen für das Nachtlicht finden Sie unter Einstellungen > Anzeigen > Nachts Hell: Dort können Nutzer mehr über das Nachtlicht erfahren, seinen Zeitplan festlegen aktivieren oder deaktivieren.
- Automatisch aktivieren
<ph type="x-smartling-placeholder">
- </ph>
- Nie:Das Nachtlicht wird nie automatisch eingeschaltet und muss manuell mit der Ein/Aus-Schaltfläche Ein/Aus aktiviert werden.
- Benutzerdefinierter Zeitplan:Das Nachtlicht wird zu einem bestimmten Zeitpunkt eingeschaltet. Startzeit [Standard: 22:30 Uhr] und nach einem festgelegten Zeitpunkt Ende [Standard: 6:30 Uhr].
- Sonnenuntergang bis -aufgang:Das Nachtlicht wird bei Sonnenuntergang ein- und ausgeschaltet. bei Sonnenaufgang. Wann die Sonne auf- oder untergeht, hängt vom Gerätestandort ab und die Jahreszeit.
- Ein/Aus:Ein/Aus-Schaltfläche zur Steuerung des aktuellen Nachtmodus Leicht. Bei diesem Status werden bestehende automatische Regeln berücksichtigt. Wenn beispielsweise bei Nacht Die LED ist um 17:30 Uhr eingeschaltet. bevor die automatische Regel um 22:30 Uhr, Das Nachtlicht schaltet sich auch um 6:30 Uhr aus. Das Licht wird um 5:30 Uhr ausgeschaltet und um 6:30 Uhr ausgeschaltet. immer noch um 22:30 Uhr eingeschaltet werden.
- Intensität: Suchleiste regelt die Färbung von warm auf kalt. Die Suchleiste kann deaktiviert, wenn das Nachtlicht nicht aktiviert ist.
- Informationstext:Zeigt dem Nutzer die Funktion des Nachtlichts an. und warum.
Bedingungen für Einstellungen
Wird oben in den Einstellungen angezeigt, wenn das Nachtlicht eingeschaltet ist.
Schnelleinstellungen-Kachel
Die Kachel „Schnelleinstellungen“ verhält sich genauso wie die Kachel Ein / Aus. unter Einstellungen > Anzeigen > Nachtlicht.