A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Rilevamento dell'ora esterna
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
A partire da Android 12, Android può utilizzare facoltativamente un'origine
esterna dell'ora per suggerire orari dell'epoca Unix al servizio time_detector
.
Questa opzione non è attivata per impostazione predefinita in AOSP.
L'origine ora esterna consente ai produttori di dispositivi di fornire suggerimenti sull'ora completamente
personalizzati ad Android. Dopo aver ricevuto i suggerimenti dall'origine
ora esterna, il servizio time_detector
determina se aggiornare
l'orologio di sistema utilizzando le regole di assegnazione delle priorità configurate.
Implementazione
Per supportare il rilevamento dell'ora esterna, i produttori di dispositivi devono implementare un componente che invia suggerimenti sull'ora esterna al servizio time_detector
tramite una chiamata API di sistema.
Per configurare l'origine esterna, utilizza il file di configurazione del server di sistema core/res/res/values/config.xml
. Aggiungi il valore external
a
config_autoTimeSourcesPriority
.
L'esempio seguente indica ad Android di dare la massima priorità ai suggerimenti di orario esterni
quando imposta l'orologio di sistema. Se non è disponibile alcun suggerimento
di orario esterno valido, viene utilizzata l'origine successiva, gnss
in questo caso.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Per fornire al sistema un suggerimento di orario esterno, utilizza il metodo
suggestExternalTime()
in TimeManager
. Se l'origine esterna è configurata utilizzando config_autoTimeSourcesPriority
nel file di configurazione e non sono disponibili suggerimenti sull'ora con priorità più alta, Android utilizza il timestamp passato a questo metodo per impostare l'ora attuale dell'epoca Unix.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-27 UTC."],[],[],null,["From Android 12, Android can optionally use an external\nsource of time to suggest Unix epoch times to the [`time_detector`](/docs/core/connect/time#time_detector-service) service.\nThis isn't enabled by default in AOSP.\n\nThe *external* time origin allows device manufacturers to provide completely\ncustom time suggestions to Android. After receiving suggestions from the\nexternal time origin, the `time_detector` service determines whether to update\nthe system clock using the configured [prioritization rules](/docs/core/connect/time#automatic-time).\n\nImplementation\n\nTo support external time detection, device manufacturers must implement a\ncomponent that submits external time suggestions to the `time_detector` service\nthrough a system API call.\n\nTo configure the external origin, use the `core/res/res/values/config.xml`\nsystem server configuration file. Add the value `external` to\n`config_autoTimeSourcesPriority`.\n\nThe following example tells Android to give external time suggestions the\nhighest priority when setting the system clock. If there is no valid external\ntime suggestion available then the next origin, `gnss` in this case, is used. \n\n \u003cstring-array name=\"config_autoTimeSourcesPriority\"\u003e\n \u003citem\u003eexternal\u003c/item\u003e\n \u003citem\u003egnss\u003c/item\u003e\n \u003c/string-array\u003e\n\nTo provide the system with an external time suggestion, use the\n[`suggestExternalTime()`](https://cs.android.com/android/platform/superproject/+/android-latest-release:frameworks/base/core/java/android/app/time/TimeManager.java?q=%22void%20suggestExternalTime%22) method in `TimeManager`. If the external origin is\nconfigured using `config_autoTimeSourcesPriority` in the configuration file and\nno higher priority time suggestions are available, Android uses the timestamp\npassed to this method to set the current Unix epoch time."]]