Rilevamento orario esterno

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.