À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Détection de l'heure externe
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
À partir d'Android 12, Android peut éventuellement utiliser une source de temps externe pour suggérer des codes temporels Unix au service time_detector
.
Cette option n'est pas activée par défaut dans AOSP.
L'origine temporelle externe permet aux fabricants d'appareils de fournir des suggestions d'heure entièrement personnalisées à Android. Après avoir reçu des suggestions de l'origine temporelle externe, le service time_detector
détermine s'il faut mettre à jour l'horloge système à l'aide des règles de priorisation configurées.
Implémentation
Pour prendre en charge la détection de l'heure externe, les fabricants d'appareils doivent implémenter un composant qui envoie des suggestions d'heure externe au service time_detector
via un appel d'API système.
Pour configurer l'origine externe, utilisez le fichier de configuration du serveur système core/res/res/values/config.xml
. Ajoutez la valeur external
à config_autoTimeSourcesPriority
.
L'exemple suivant indique à Android d'accorder la priorité la plus élevée aux suggestions d'heure externes lors du réglage de l'horloge système. Si aucune suggestion d'heure externe valide n'est disponible, l'origine suivante est utilisée (gnss
dans ce cas).
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Pour fournir au système une suggestion d'heure externe, utilisez la méthode suggestExternalTime()
dans TimeManager
. Si l'origine externe est configurée à l'aide de config_autoTimeSourcesPriority
dans le fichier de configuration et qu'aucune suggestion d'heure de priorité supérieure n'est disponible, Android utilise le code temporel transmis à cette méthode pour définir l'heure actuelle de l'époque Unix.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]