A partire da Android 12, Android può facoltativamente utilizzare un
fonte di tempo per suggerire i tempi dell'epoca di Unix
Servizio time_detector
. Non è
attivate per impostazione predefinita in AOSP.
L'origine del tempo esterna consente ai produttori di fornire dati
suggerimenti di orario personalizzati per Android. Dopo il giorno
ricevere suggerimenti dall'origine temporale esterna, il servizio time_detector
determina se aggiornare l'orologio di sistema utilizzando lo
regole di priorità.
Implementazione
Per supportare il rilevamento orario esterno, i produttori di dispositivi devono implementare un'opzione
che invia suggerimenti di orario esterni a time_detector
tramite una chiamata API di sistema.
Per configurare l'origine esterna, utilizza core/res/res/values/config.xml
di configurazione del server di sistema. Aggiungi il valore external
a
config_autoTimeSourcesPriority
.
L'esempio seguente indica ad Android di fornire suggerimenti di orario esterni
priorità massima quando si imposta l'orologio di sistema. Se non è disponibile
il suggerimento di orario disponibile, dopodiché viene utilizzata l'origine successiva, gnss
.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Per fornire al sistema un suggerimento orario esterno, utilizza il
suggestExternalTime()
in TimeManager
. Se l'origine esterna è configurata utilizzando
config_autoTimeSourcesPriority
nel file di configurazione e non superiore
sono disponibili suggerimenti di priorità, Android utilizza
timestamp trasmesso a questo metodo per impostare l'ora corrente dell'epoca Unix.