Detecção de horário externo

A partir do Android 12, o Android pode usar uma conexão externa fonte de tempo para sugerir tempos de época Unix para o time_detector Não está ativada por padrão no AOSP.

A origem de horário externa permite que os fabricantes de dispositivos forneçam sugestões de horários personalizados para o Android. Depois recebendo sugestões da origem de horário externa, o serviço time_detector. determina se o relógio do sistema deve ser atualizado usando o regras de priorização.

Implementação

Para oferecer suporte à detecção externa de horário, os fabricantes de dispositivos precisam implementar uma componente que envia sugestões externas de horário para o time_detector por uma chamada de API do sistema.

Para configurar a origem externa, use o core/res/res/values/config.xml de configuração do servidor do sistema. Adicionar o valor external a config_autoTimeSourcesPriority.

O exemplo a seguir diz ao Android para dar sugestões de horário externo que a prioridade mais alta ao definir o relógio do sistema. Se não houver um endereço IP sugestão de horário disponível, a próxima origem, gnss, neste caso, será usada.

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

Para dar ao sistema uma sugestão de horário externo, use o suggestExternalTime() em TimeManager. Se a origem externa for configurada usando config_autoTimeSourcesPriority no arquivo de configuração e nenhum nível superior sugestões de horário prioritário estiverem disponíveis, o Android usará o passado a este método para definir o horário da época Unix atual.