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 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 harici zaman önerilerine en yüksek önceliği vermesi için Android'e talimat veriyor. 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 sağlamak 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.