Ab Android 12 kann Android optional eine externe
eine Zeitquelle, die Unix-Zeiten der Epoche
time_detector
-Dienst. Das ist nicht
standardmäßig in AOSP aktiviert.
Die externe Zeitquelle ermöglicht es Geräteherstellern,
benutzerdefinierte Uhrzeitvorschläge für Android. Nachher
Sie erhalten Vorschläge von der externen Zeitquelle, dem Dienst time_detector
.
bestimmt, ob die Systemuhr mithilfe der konfigurierten
Priorisierungsregeln.
Implementierung
Zur Unterstützung der externen Zeiterkennung müssen Gerätehersteller eine
Komponente, die externe Zeitvorschläge an die time_detector
sendet
über einen System-API-Aufruf.
Verwenden Sie zum Konfigurieren des externen Ursprungs die core/res/res/values/config.xml
Systemserver-Konfigurationsdatei. Fügen Sie den Wert external
zu
config_autoTimeSourcesPriority
.
Im folgenden Beispiel wird Android angewiesen,
höchste Priorität beim Einstellen der Systemuhr. Wenn keine gültige externe
Zeitvorschlag verfügbar, wird der nächste Startort, in diesem Fall gnss
, verwendet.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Um dem System einen externen Zeitvorschlag zu senden, verwenden Sie die Methode
suggestExternalTime()
in TimeManager
. Wenn die externe Quelle mit
config_autoTimeSourcesPriority
in der Konfigurationsdatei und nicht höher
Vorschläge zur priorisierten Zeit verfügbar sind, verwendet Android
Zeitstempel, der an diese Methode übergeben wird, um die aktuelle Unix-Epochen-Zeit festzulegen.