外部時間檢測

從 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 紀元時間。