Od Androida 12 Android może opcjonalnie korzystać z zewnętrznego
źródła czasu sugerującego czasy uniksowe
time_detector
. To nie jest
domyślnie włączone w AOSP.
Zewnętrzne źródło czasu umożliwia producentom urządzeń pełne podanie
niestandardowe sugestie godzin
na Androida. Po
otrzymywanie sugestii z zewnętrznego źródła czasu, usługi time_detector
określa, czy zaktualizować zegar systemowy przy użyciu skonfigurowanego
regułami określania priorytetów.
Implementacja
Aby zapewnić obsługę zewnętrznego wykrywania czasu, producenci urządzeń muszą wdrożyć
komponent przesyłający zewnętrzne sugestie dotyczące terminu do time_detector
za pomocą systemowego wywołania interfejsu API.
Aby skonfigurować źródło zewnętrzne, użyj: core/res/res/values/config.xml
plik konfiguracji serwera systemowego. Dodaj wartość external
do
config_autoTimeSourcesPriority
W tym przykładzie Android ma przekazywać zewnętrzne sugestie dotyczące czasu
o najwyższym priorytecie przy ustawianiu zegara systemowego. Jeśli nie ma prawidłowego identyfikatora
dostępna sugerowana godzina, a następnie używana jest następne miejsce odjazdu (w tym przypadku gnss
).
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Aby udostępnić systemowi zewnętrzne sugestie dotyczące czasu, użyj funkcji
suggestExternalTime()
w metodzie TimeManager
. Jeśli źródło zewnętrzne jest skonfigurowane za pomocą
config_autoTimeSourcesPriority
w pliku konfiguracji i nie wyżej
są dostępne sugestie dotyczące priorytetu, Android korzysta z
sygnatura czasowa przekazana do tej metody w celu ustawienia bieżącego czasu uniksowego.