Externe Zeiterkennung

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.