A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Detecção de horário externo
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A partir do Android 12, o Android pode usar opcionalmente uma fonte externa de tempo para sugerir horários de época Unix ao serviço time_detector
.
Essa opção não é ativada por padrão no AOSP.
A origem de tempo externa permite que os fabricantes de dispositivos ofereçam sugestões de tempo totalmente personalizadas para o Android. Depois de receber sugestões da origem de tempo externa, o serviço time_detector
determina se é necessário atualizar o relógio do sistema usando as regras de priorização configuradas.
Implementação
Para oferecer suporte à detecção de hora externa, os fabricantes de dispositivos precisam implementar um
componente que envie sugestões de hora externa ao serviço time_detector
por uma chamada de API do sistema.
Para configurar a origem externa, use o arquivo de configuração do servidor do sistema core/res/res/values/config.xml
. Adicione o valor external
a config_autoTimeSourcesPriority
.
O exemplo a seguir informa ao Android para dar às sugestões de horário externas a
prioridade mais alta ao definir o relógio do sistema. Se não houver uma sugestão de tempo externa válida 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 fornecer ao sistema uma sugestão de horário externo, use o método
suggestExternalTime()
em TimeManager
. Se a origem externa for
configurada usando config_autoTimeSourcesPriority
no arquivo de configuração e
não houver sugestões de horário de maior prioridade disponíveis, o Android usará o carimbo de data/hora
transmitido a esse método para definir a época Unix atual.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-08-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]