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 una fonte di tempo esterna per
suggerire orari dell'epoca Unix al servizio Time Detector. Questa opzione non è attiva
per impostazione predefinita in AOSP.
L'origine temporale esterna ti consente di fornire suggerimenti temporali completamente personalizzati
ad Android. Dopo aver ricevuto i suggerimenti dall'origine temporale esterna, il
servizio time_detector
determina se aggiornare l'orologio di sistema in base
alle regole di assegnazione automatica della priorità temporale configurate.
Implementazione
Per supportare il rilevamento dell'ora esterna, devi implementare un componente che invii
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, in questo caso gnss
:
<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-09-03 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-09-03 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."]]