Harici zaman algılama

Android 12'den itibaren Android, time_detector hizmetine Unix epoch zamanları önermek için isteğe bağlı olarak harici bir zaman kaynağı kullanabilir. Bu özellik AOSP'de varsayılan olarak etkin değildir.

Harici zaman kaynağı, cihaz üreticilerinin Android'e tamamen özel zaman önerileri sunmasına olanak tanır. Harici zaman kaynağından öneriler aldıktan sonra time_detector hizmeti, yapılandırılmış önceliklendirme kurallarını kullanarak sistem saatinin güncellenip güncellenmeyeceğini belirler.

Uygulama

Harici saat algılamayı desteklemek için cihaz üreticilerinin, sistem API çağrısı aracılığıyla time_detector hizmetine harici saat önerileri gönderen bir bileşen uygulamalıdır.

Harici kaynağı yapılandırmak için core/res/res/values/config.xml sistem sunucusu yapılandırma dosyasını kullanın. external değerini config_autoTimeSourcesPriority alanına ekleyin.

Aşağıdaki örnekte, Android'e sistem saatini ayarlarken harici saat önerilerine en yüksek önceliği vermesi söylenmektedir. Geçerli bir harici zaman önerisi yoksa sonraki kaynak (bu durumda gnss) kullanılır.

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

Sisteme harici bir zaman önerisi sağlamak için TimeManager'daki suggestExternalTime() yöntemini kullanın. Harici kaynak, yapılandırma dosyasında config_autoTimeSourcesPriority kullanılarak yapılandırılmışsa ve daha yüksek öncelikli zaman önerisi yoksa Android, mevcut Unix çağ zamanını ayarlamak için bu yönteme iletilen zaman damgasını kullanır.