A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Detección de hora externa
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
A partir de Android 12, Android puede usar, de forma opcional, una fuente externa de tiempo para sugerir horas de época de Unix al servicio time_detector
.
Esta opción no está habilitada de forma predeterminada en AOSP.
El origen de hora externo permite que los fabricantes de dispositivos proporcionen sugerencias de hora completamente personalizadas a Android. Después de recibir sugerencias del origen de hora externo, el servicio time_detector
determina si debe actualizar el reloj del sistema con las reglas de priorización configuradas.
Implementación
Para admitir la detección de hora externa, los fabricantes de dispositivos deben implementar un componente que envíe sugerencias de hora externa al servicio time_detector
a través de una llamada a la API del sistema.
Para configurar el origen externo, usa el archivo de configuración del servidor del sistema core/res/res/values/config.xml
. Agrega el valor external
a config_autoTimeSourcesPriority
.
En el siguiente ejemplo, se indica a Android que les dé a las sugerencias de hora externas la prioridad más alta cuando se configure el reloj del sistema. Si no hay una sugerencia de hora externa válida disponible, se usa el siguiente origen, gnss
en este caso.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Para proporcionar al sistema una sugerencia de hora externa, usa el método suggestExternalTime()
en TimeManager
. Si el origen externo se configura con config_autoTimeSourcesPriority
en el archivo de configuración y no hay sugerencias de tiempo de mayor prioridad disponibles, Android usa la marca de tiempo que se pasa a este método para establecer la hora actual de la época de Unix.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-08-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]