Detección de hora externa

A partir de Android 12, Android puede usar una puerta de enlace fuente de tiempo para sugerir los tiempos de tiempo Unix al Servicio time_detector. No es habilitado de forma predeterminada en AOSP.

El origen de tiempo externo permite que los fabricantes de dispositivos proporcionen información sugerencias de horarios personalizados para Android. Después del recibe sugerencias del origen de hora externo, el servicio time_detector determina si se debe actualizar el reloj del sistema con el parámetro reglas de priorización.

Implementación

Para admitir la detección de hora externa, los fabricantes de dispositivos deben implementar un componente que envía sugerencias de horarios externas al time_detector a través de una llamada a la API del sistema.

Para configurar el origen externo, usa core/res/res/values/config.xml. archivo de configuración del servidor del sistema. Agregue el valor external a config_autoTimeSourcesPriority

En el siguiente ejemplo, se indica a Android que proporcione sugerencias de horarios externas la prioridad más alta cuando se configura el reloj del sistema. Si no hay datos externos válidos, sugerencia de horario disponible; por lo tanto, se usa el siguiente origen, gnss en este caso.

<string-array name="config_autoTimeSourcesPriority">
        <item>external</item>
        <item>gnss</item>
</string-array>

Para proporcionarle al sistema una sugerencia de horario externa, usa el suggestExternalTime() en TimeManager. Si el origen externo se configura config_autoTimeSourcesPriority en el archivo de configuración y no más las sugerencias de horarios prioritarios están disponibles, Android usa la marca de tiempo pasada a este método para establecer el tiempo Unix actual del tiempo.