從 Android 12 開始,Android 可以選擇使用外部時間來源向time_detector
服務建議 Unix 紀元時間。 AOSP 中預設未啟用此功能。
外部時間原點允許設備製造商向 Android 提供完全自訂的時間建議。 time_detector
服務收到外部時間來源的建議後,根據配置的優先權規則決定是否更新系統時脈。
執行
為了支援外部時間檢測,設備製造商必須實作一個元件,透過系統 API 呼叫向time_detector
服務提交外部時間建議。
若要設定外部來源,請使用core/res/res/values/config.xml
系統伺服器設定檔。將external
值加入config_autoTimeSourcesPriority
。
以下範例告訴 Android 在設定係統時鐘時給予外部時間建議最高優先順序。如果沒有可用的有效外部時間建議,則使用下一個原點(本例中為gnss
)。
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
若要提供系統外部時間建議,請使用TimeManager
中的suggestExternalTime()
方法。如果使用設定檔中的config_autoTimeSourcesPriority
設定外部來源,且沒有可用的較高優先順序時間建議,則 Android 使用傳遞給此方法的時間戳記來設定目前 Unix 紀元時間。