Harici zaman algılama

Android 12'den itibaren Android, Time Detector hizmetine Unix dönemi 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 başlangıcı, Android'e tamamen özel zaman önerileri sağlamanıza olanak tanır. Harici zaman kaynağına ait önerileri aldıktan sonra time_detector hizmeti, yapılandırılan otomatik zaman önceliklendirme kurallarına göre sistem saatini güncelleyip güncellemeyeceğine karar verir.

Uygulama

Harici zaman algılamayı desteklemek için sistem API'si çağrısı aracılığıyla time_detector hizmetine harici zaman önerileri gönderen bir bileşen uygulamanız gerekir.

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 bu durumda bir sonraki kaynak (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.