Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Внешнее определение времени
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Начиная с Android 12, Android может опционально использовать внешний источник времени для предложения времени эпох Unix службе time_detector
. Эта возможность отключена по умолчанию в AOSP.
Внешний источник времени позволяет производителям устройств предоставлять Android полностью персонализированные предложения времени. Получив предложения от внешнего источника времени, служба time_detector
определяет, следует ли обновлять системные часы, используя настроенные правила приоритетов .
Выполнение
Для поддержки внешнего определения времени производители устройств должны реализовать компонент, который отправляет внешние предложения по времени в службу time_detector
через вызов системного API.
Для настройки внешнего источника используйте файл конфигурации системного сервера core/res/res/values/config.xml
. Добавьте значение external
в config_autoTimeSourcesPriority
.
В следующем примере Android указывает, что внешние предложения по времени должны иметь наивысший приоритет при настройке системных часов. Если допустимое внешнее предложение по времени отсутствует, используется следующее начало отсчёта, в данном случае gnss
.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Чтобы предоставить системе внешнюю подсказку времени, используйте метод suggestExternalTime()
в TimeManager
. Если внешний источник времени настроен с помощью config_autoTimeSourcesPriority
в файле конфигурации и нет доступных подсказок времени с более высоким приоритетом, Android использует переданную этому методу временную метку для установки текущего времени эпохи Unix.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-27 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 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."]]