Harici zaman algılama

Android 12'den itibaren Android, time_detector hizmetine Unix epoch zamanlarını ö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. time_detector hizmeti, harici zaman kaynağına ait önerileri aldıktan sonra yapılandırılmış önceliklendirme kurallarını kullanarak sistem saatini güncelleyip güncellemeyeceğine karar verir.

Uygulama

Harici zaman algılamayı desteklemek için cihaz üreticileri, sistem API çağrısı aracılığıyla time_detector hizmetine harici zaman ö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 öğesine ekleyin.

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

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

Sisteme harici bir zaman önerisi sunmak için TimeManager içinde 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 önerileri yoksa Android, geçerli Unix dönemi zamanını ayarlamak için bu yönteme iletilen zaman damgasını kullanır.