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ğı önerilerini 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 örnek, sistem saatini ayarlarken Android'e harici saat önerilerine en yüksek önceliği vermesini söyler. 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çindeki 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.