時間總覽

本頁面說明 Android 的時間與時區偵測功能的運作方式。這個 包括 Android 如何自動偵測時間和時區 以及測試資訊。

時間與時區總覽

用來判斷在狀態等位置顯示的使用者當地時間 長條,Android 會追蹤兩個相關但獨立的狀態:

  • 目前的 Unix Epoch 時間
  • 目前時區

目前的 Unix Epoch 紀元時間和目前時區為裝置通用的狀態, 表示同一部裝置的所有使用者共用。

目前的 Unix 紀元時間不是固定值。這個 API 的 反映時間的推移除了正常的時間段之外 一旦發現錯誤的 Unix 紀元時間, 例如裝置沒電時

目前的時區會決定要進行轉換時 以當地時間為準。例如,在夏天 洛杉磯,裝置會從目前的 Unix 紀元時間減少 7 小時, 冬天就會減去 8 小時

為了支援這些當地時間計算結果,所有 Android 裝置 所有全域時區規則的資料庫。 如要進一步瞭解時區規則,請參閱 時區規則

如果使用者前往不同時區的新地點, 目前的 Unix 紀元時間不需要調整,但使用者通常會希望 查看當地時間,而不是其先前位置的時間。變更中 目前的時區,確保系統為目前的時區套用正確的偏移量 Unix 紀元時間以顯示新位置的正確當地時間。

AOSP 可讓使用者獨立控管時間和時區 會透過下列機制自動設定這類規則。

  • 自動偵測時間:確認裝置正確無誤 目前的 Unix Epoch 紀元時間。
  • 自動偵測時區:確認裝置正確無誤 目前時區。

自動偵測時間

本節概略說明用於管理的 time_detector 服務 自動偵測時間、使用者控制項、設定選項和測試 詳細資料。

time_Detector 服務

time_detector敬上 服務 (在搭載 Android 10 以上版本的裝置上顯示),可管理自動時間 偵測。視需要調整裝置目前的 Unix 紀元時間 已經啟用自動偵測時間功能。

time_detector 服務一律為以下兩種狀態之一:不確定服務的確定或不確定狀態 依時間建議擷取不同來源的時間建議。

如果 time_detector 服務確定,表示收到 而 Unix 紀元時間資訊的建議,會覆寫目前的 Unix 紀元時間 時間建議與目前的 Unix 紀元時間不同。

如果 time_detector 不確定,不會覆寫目前時間。 不確定狀態通常表示 time_detector 服務未收到時間 或取得寫作建議如果 time_detector 服務出現建議,也無法確定 系統會將接收到的資訊視為太舊,所以無法使用。建議建議的年齡為: 這是因為採用舊版 Unix 紀元時間建議所做的調整 裝置上進行即時的即時時鐘,經認定為不準確 營利。

為了自動建立目前的 Unix 紀元時間,裝置上有多種 可用的來源這在本文件中稱為「來源」time_detector 服務會根據 系統

time_detector 服務是有狀態的,也就是說,服務會保留 各來源的最新建議。有人向以下使用者提出新建議: time_detector:如果來源具有較新的 Unix Epoch 紀元時間資訊 廣告。「time_detector」服務會重新評估新建議和現有建議 並在收到建議時更新裝置狀態。

雖然 UTC 時間是全球共識,但原因有很多種 建立 Unix 紀元時間有時並不簡單 Android 裝置:

  • Unix Epoch 紀元時間是與世界標準時間相差不大的計時系統。 如要在這兩種模式間轉換,需要瞭解發生閏秒的時間, 如何依來源處理這些事件
  • 活動來源可能只在特定時間或低於特定時間提供 情況。舉例來說,如果來源需要網路連線 您可能只能在裝置連上網際網路時才能使用這項功能。
  • 來源可能不正確、不精確,或是包含錯誤。適用對象 舉例來說,如果電話基地台不會追蹤「通用時間」 電話來源提供的建議時間可能不準確。
  • 取得 Unix 紀元時間時可能會發現資料不準確。 例如網路延遲、緩衝處理或程序排程都可能造成 會導致 Unix Epoch 紀元時間不準確。
  • 這個參考時鐘可調整經過時間的建議, 可能不準確

設定有兩個主要時間偵測來源,預設使用於 Android 開放原始碼計畫:

  • 網路使用「網路」 時間通訊協定 (NTP) 時間伺服器。
  • 電話:使用網路身分和時區 (NITZ) 電話 信號

電話和網路來源都需要連線至外部網路 不一定每次都可用

從 Android 12 開始,Android 還支援 下列來源並未設定預設使用:

  • GNSS使用 GPS 位置提供者,從 GNSS 來源取得時間。
  • 外部一般 可讓裝置製造商整合自家來源的 Unix Epoch 紀元時間。

時間設定

使用者可以前往 [系統] > [系統] 啟用自動偵測時間功能日期和時間 Android 開放原始碼計畫的「設定」應用程式。

設定自動偵測時間功能

圖 1. 您可以在「設定」中自動偵測時間。

下表說明 Android 開放原始碼計畫的時間偵測使用者控制項 「設定」應用程式。

*在 Android 11 以下版本中,這項設定標示為「使用」 網路提供時間

Android 開放原始碼計畫設定位置 Android 開放原始碼計畫設定名稱 範圍 行為
系統 >日期和時間 自動設定時間* 所有使用者

切換鈕。

開啟時,裝置會負責偵測目前的 Unix Epoch 紀元時間。如果關閉,系統會為使用者提供可設定 手動調整時間。

使用者手動輸入時間時,請輸入當地時間,而非 Unix 紀元 讓應用程式從可以最快做出回應的位置 回應使用者要求目前的 Unix Epoch 紀元時間是以目前的時區計算得出 得出 Unix 紀元時間

設定

裝置製造商可以透過多種方式設定 time_detector 服務: 例如要使用哪些來源以及如何優先處理來自這些來源的信號

來源優先順序

自 Android 12 起,裝置製造商可以變更 core/res/res/values/config.xml設定檔指定時間 要納入自動時間偵測的來源,以及 time_detector 會考量這些來源。

如果是搭載 Android 11 以下版本的裝置,來源優先順序會硬式編碼為 ["telephony", "network"],表示系統會優先採用電話建議 。

預設的 Android 開放原始碼計畫設定如下:

<!-- Specifies priority of automatic time sources. Suggestions from higher entries in the list
     take precedence over lower ones.
     See com.android.server.timedetector.TimeDetectorStrategy for available sources. -->
<string-array name="config_autoTimeSourcesPriority">
    <item>network</item>
    <item>telephony</item>
</string-array>

在 Android 12 中,網路和電話建議 設為預設使用的來源網路時間建議: 優先於建議的電話時間建議上。裝置製造商可能會變更 來源如何還原為 Android 11 以下版本的行為 則電話必須優先處理

根據預設,如果優先順序最高的有效建議符合裝置的 系統時鐘時間到幾秒內,裝置時間「不會」 可以變更這樣就不會針對會監聽 ACTION_TIME_CHANGED 意圖。

允許的來源值如下:

允許的時間範圍

Android 14 導入了時間上限 「time_detector」服務收到的建議。如果裝置支援 為 32 位元程序,架構會設定時間上限,防止裝置發生 避免採用可能觸發 Y2038 問題的時間建議

Android 12 導入了時間範圍下限 驗證 time_detector 服務收到的時間建議。最小值 自動建議使用的時間界限值是從建構時間戳記設定。 我們的原則是,裝置經過的時間不得早於 建構了系統映像檔如果時間建議早於下限, time_detector 服務捨棄建議,因為如果將 建構時間戳記正確無誤。

如果裝置搭載 Android 11 以下版本,time_detector 服務無法 驗證傳入的 Unix 紀元時間建議。

時間偵錯與測試

本節說明如何針對 所有來源共用的 time_detector 服務和其他元件。

與 time_Detector 服務互動

如要查看 time_detector 服務的設定和狀態 time_detector 服務,請使用:

adb shell cmd time_detector dump

如要查看偵錯及測試時區偵測的其他指令,請使用:

adb shell cmd time_detector help

說明輸出內容也會指出 device_config 服務屬性, 用於影響 time_detector 在測試或正式版的行為。 詳情請參閱 使用 device_config 服務設定裝置

如要驗證自動偵測時間功能,測試人員必須知道 time_detector 服務正在使用。以下為 adb shell cmd time_detector dump 指令,其中包含 目前來源和服務狀態以粗體顯示:

$ adb shell cmd time_detector dump

TimeDetectorStrategy:
  mLastAutoSystemClockTimeSet=null
  mEnvironment.isAutoTimeDetectionEnabled()=true
  mEnvironment.elapsedRealtimeMillis()=23717241
  mEnvironment.systemClockMillis()=1626707861336
  mEnvironment.systemClockUpdateThresholdMillis()=2000
  mEnvironment.autoTimeLowerBound()=2021-07-19T07:48:05Z(1626680885000)
  mEnvironment.autoOriginPriorities()=[network,telephony]
  Time change log:
    ...
  Telephony suggestion history:
    ...
  Network suggestion history:
    ...
  Gnss suggestion history:
    ...
  External suggestion history:
    ...

這些資訊可以按照以下方式解讀:

mEnvironment.isAutoTimeDetectionEnabled() 是否啟用自動偵測時間。
mEnvironment.autoTimeLowerBound() 目前用來驗證時間建議的時間下限。
mEnvironment.autoOriginPriorities() 使用中的來源和優先順序。

時間變更記錄會指出在 time_detector 服務中發生以下情況時 變更了裝置目前的 Unix 紀元時間。

建議記錄資訊會顯示相關建議 每個來源。

自動偵測時區

本節將概略說明符合下列條件的 time_zone_detector 服務: 管理自動偵測時區、使用者控制項、電話設定和 位置時區偵測和測試詳細資料。

time_zone_Detector 服務

time_zone_detector敬上 服務 (在搭載 Android 11 以上版本的裝置上顯示),可管理自動時間 可用區偵測視需要調整裝置目前的時區 已啟用自動偵測時區功能。

啟用自動時區偵測功能後,time_zone_detector可在以下時間過後移動: 以下其中一種狀態:「不確定」和「確定」。

time_zone_detector 服務處於特定狀態時,表示 有 time_zone_detector 項服務收到強大的時區資訊 可能會導致系統覆寫目前的時區。如果無法確定 是指沒有收到任何資訊,或只有可信度不足的資訊 這表示系統不會覆寫目前的時區。

time_zone_detector 服務的特定狀態可能包含下列內容: time_zone_detector 沒有可用時區資訊或時區資訊 可供選擇這些狀態如下所示:

  • 裝置啟動時,會進入時區為零的狀態 但某處沒有時區,例如國際水域 爭議區域。這個狀態與不確定性類似,但會指出 time_zone_detector不需要採取進一步行動 判斷時區
  • 如果某個州內輸入了多個時區,系統就會在該州輸入多個時區 不明確或邊框條件。如果目前的時區是 time_zone_detector有多個時區, 系統會將目前時區維持不變。否則,這是其中一個可用時間 可用區這會讓 time_zone_detector 是黏著度的元素 如果使用者先前手動選取時區,或者使用 裝置接近邊框。

time_zone_detector 服務的確定或不確定狀態取決於 演算法傳送的時區建議

一般來說,建議有兩種類型,因此最接近可能狀態 time_zone_detector不確定不確定。以下是 建議類型範例:

  • 類型 = uncertainzoneIds = []

    • 演算法不知道時區為何。
  • 類型 = certainzoneIds = ["Europe/London"]

    • 且確保演算法為歐洲/倫敦。
  • 類型 = certainzoneIds = []`

    • 演算法可以確定,但沒有任何區域 ID 與目前位置建立關聯
  • 類型 = certainzoneIds = ["America/Denver", "America/Phoenix"]

    • 演算法可確保回應為兩個可用區之一 但不能在「美國/丹佛」之間和「America/Phoenix」

time_zone_detector 服務會將一系列建議序列視為截然不同的結果 根據各自的演算法進行預測視演算法而定,系統可能也會提供建議 包含的中繼資料可指示演算法的某些程度。

time_zone_detector 服務是有狀態的,表示服務會保留記錄 顯示各演算法最新建議的摘要。已傳送新建議 至 time_zone_detector 服務 (如果先前的建議不再適用) 正確;也就是演算法現在有其他建議 因而無法偵測時區time_zone_detector 服務 重新評估新的和現有的建議,並更新裝置狀態。 仍會收到建議

Android 支援兩種時區偵測演算法:

  • 電話通訊系統
  • 位置

time_zone_detector 服務通常會使用單一演算法來 判斷時區如果裝置支援位置演算法, 裝置使用的演算法取決於 使用者設定的時區設定。當 因為使用中的演算法無法確定時區 time_zone_detector 通常不會採用其他演算法的建議。建議聯絡人 與未使用演算法相關的演算法,可以儲存在記憶體中, time_zone_detector,但除非演算法,否則不會使用這些參數 並輸入變更內容使用者變更自動時區偵測設定時 版本的演算法有所變更 新的演算法

詳細說明使用多個演算法來判定情境 時區,請參閱 電話備用模式

電話通訊備用模式

在搭載 Android 13 以上版本的裝置中, time_zone_detector 服務支援電話備用模式。這個模式 允許 Android 在下列情況暫時使用電話偵測建議: 位置偵測功能無法偵測時區或位置偵測 偵測時區的時間比電話偵測時間更長。

電話備用模式適用於電話和定位裝置 系統支援偵測,且使用者啟用 [使用位置資訊設定] 時區 (位於時區設定)。模式已啟用 ,且會在裝置重新啟動及飛航模式停用時自動執行。

在 Android 14 以上版本中,您可以透過 觸發的方式 LTZP status Reporting API 也就是由 LTZP 回報的不確定性,「而且」有能力偵測 否則電話就會因環境降級而降低

在電話備用模式中,time_zone_detector 服務會使用電話通訊 提供建議,就像位置演算法「直到」位置演算法處於停用狀態 做出特定建議收到特定建議後,電話會使用 備用模式已停用,且只會使用位置建議。

如需電話備用模式的設定詳細資料,請參閱 時區偵測設定

時區設定

使用者可以在以下位置啟用及設定自動偵測時區的設定: 下載 Android 開放原始碼計畫的「設定」應用程式

在「設定」中自動偵測時區

圖 2. 在「設定」中自動偵測時區。

下表將說明在「 Android 開放原始碼計畫的「設定」應用程式。

*在 Android 11 以下版本中,這項設定會標示 使用網路提供的時區

Android 開放原始碼計畫設定位置 Android 開放原始碼計畫設定名稱 範圍 行為
系統 >日期和時間 自動設定時區* 所有使用者

切換鈕。

開啟時,裝置會負責偵測目前時間 可用區如果關閉,系統會為使用者提供用於設定裝置的 手動調整時區。

系統 >日期和時間 使用位置資訊來設定時區 目前使用者

切換鈕。

適用於 Android 12。這個切換鈕為 只會在裝置支援位置時區偵測功能時才會顯示。

如要瞭解 Android 14 所導入的變更,請參閱 僅支援位置時區偵測的裝置

位置 使用位置資訊 目前使用者

切換鈕。

允許或禁止系統使用裝置的位置資訊。值為 前提是裝置支援位置時區偵測功能。

以下簡要說明系統根據時區的裝置行為 會根據使用者選擇的設定來偵測:

  • [日期和時間] 自動設定時區:關閉

    • 使用者必須手動選取時區。
  • [日期和時間] 自動設定時區:開啟

    • [位置] 使用位置資訊:關閉

      • 電話訊號的功用是偵測時區。
    • [位置] 使用位置資訊:開啟

      • [日期和時間] 使用位置資訊設定時區:開啟

        • 系統會使用位置資訊偵測時區。
      • [日期和時間] 使用位置資訊設定時區:關閉

        • 電話訊號的用途是偵測時間 可用區
,瞭解如何調查及移除這項存取權。

多位使用者裝置

由於有多項設定牽涉到目前的使用者,因此 當目前的使用者時,裝置的時區偵測行為可能會改變 多使用者 Android 裝置上的變更

[使用位置資訊設定時區] 切換鈕的範圍限定為目前的使用者, 不受裝置政策限制,也就是說,使用者隨時可以變更 值,即使「自動設定時區」切換鈕設為關閉或 時間或時區控制項受到裝置政策控制器限制。

僅支援位置時區偵測演算法的裝置

本節將說明僅支援位置資訊的裝置行為 演算法。

  • Android 14 以上版本

    • Android 開放原始碼計畫設定不會向使用者顯示「使用位置資訊」選項 應用程式、裝置的行為,會像是「使用位置資訊」選項已啟用。
    • 使用者界定範圍 SettingsProvider 設定的值 已忽略 location_time_zone_detection_enabled。這個值的記錄 使用者在其他類型裝置上的偏好設定。
  • Android 12 或 Android 13

    • Android 開放原始碼計畫的「設定」應用程式向使用者顯示「使用位置資訊」選項。 使用者可以停用該選項。如果停用這個選項 裝置不會自動偵測時區。

切換自動偵測與切換時的行為

使用者將時區偵測功能從手動切換為自動時, time_zone_detector 可能不是目前時區。如果是, 使用者啟用自動偵測時,裝置的時區可能會變更 符合 time_zone_detector 服務的意見。

同樣地,使用者在「設定」中做出變更導致 time_zone_detector 服務目前的演算法,time_zone_detector 可能會 已收到建議採用的新演算法,因此請善用裝置時間 內容經過變更,以符合time_zone_detector服務的意見 立即生效

電話通訊時區偵測

電話時區偵測功能會使用電話訊號來判斷目前的 時區。詳情請參閱電話時區 偵測

位置時區偵測

定位時區偵測功能適用於 Android 12 或更高版本。這是選擇性的自動時區偵測功能,可讓您 裝置可以根據位置資訊判斷目前的時區。

location_time_zone_manager 服務,引入 Android 12 會在 系統伺服器,並包含負責提交位置資訊的程式碼 提供給 time_zone_detector 服務的演算法建議。 若需更多資訊,請參閲 位置時區偵測

功能採用注意事項

本節將說明位置時區偵測功能的各個層面。 協助裝置製造商判斷是否要在裝置上採用這項功能。

比較電話偵測和位置偵測

下表比較了 使用位置資訊 (而非電話訊號) 偵測時區。

電話偵測 位置偵測
正確性 隨國家而異。

視 MCC 而定,NITZ 的正確性和可用性。
取決於功能設定或外掛程式元件。

正確性通常會因以下項目而異:
  • 定位提供者精確度與常規性。
  • 時區地圖資料的品質。
可更新性 電話偵測功能依賴於可更新時間中的檔案 Zone Data 模組 (com.android.tzdata APEX)。 取決於功能設定或外掛程式元件。

可更新性通常取決於裝置使用的是伺服器還是用戶端 時區地圖資料

注意:時區地圖資料不包含在「時間」中 Zone Data 模組,用來更新 Android 的 TZDB 副本和其他時間 區域資訊

此外,裝置製造商也必須考量 時區規則和時區對應資料
耗電量 無電源用量或低耗電 取決於使用者的位置資訊設定、使用的外掛程式,通常取決於 還有哪些應用程式要求位置資訊
適用地區 僅適用於電話通訊裝置,通常需要一張能正常運作的 SIM 卡。 位置偵測功能取決於可用的定位服務供應商。
使用者隱私

使用者偏好的時區通常取決於其所在地理區域 或 HTTP/HTTPS 位置位置為機密資料。使用者可能會有所顧慮 試圖偵測時區。 與時區偵測無關:凡是在裝置上執行的應用程式都能讀取 裝置目前時區 (不需 Android 權限);以及 應用程式可以根據這項資訊推斷裝置的位置資訊。

更具體來說,時區偵測可以通過被動或主動偵測 意味著:

  • 被動:裝置環境中的項目會告知裝置 建立預設時區
  • 使用中:裝置必須讓裝置自身運動出時區,且 依使用者隱私權設定及同意聲明,同時取得 裝置所在位置。之後就能與外部人員分享位置資訊 免費 Google Cloud 服務如要進一步瞭解使用者隱私權和同意聲明,請參閱以下討論內容。

被動偵測 (例如電話演算法) 則沒有 以及對使用者隱私權的影響

進行偵測時 (例如位置演算法) 會考量 裝置的位置資訊、以及使用者可能不同意的位置 可以透過聯播網傳送,以判斷時區 ID。

Android 運用時區偵測技術保護使用者隱私的做法,為使用者提供 可讓您個別停用預期作用中的演算法。 此外,Android 開放原始碼計畫平台程式碼不會直接處理位置資訊本身: 位置偵測以及將位置對應至時區 ID 仍是由外掛程式決定 元件。

如要進一步瞭解使用者隱私權功能,請參閱位置時區 偵測

設定

裝置製造商可設定要變更「time_zone_detector」服務 運作原理本節將說明 設定 time_zone_detector 服務的行為。如需以下項目的設定詳細資料: 電話與時區偵測演算法,請參閱 電話時區偵測位置時區偵測

基本 Android 開放原始碼計畫設定位於 frameworks/base/core/res/res/values/config.xml

設定金鑰 Android 開放原始碼計畫值 說明
config_supportTelephonyTimeZoneFallback true true 時,time_zone_detector 會使用電話服務 也就是備用模式適用於 Android 13 以及更高版本

變更裝置預設行為

在 Android 開放原始碼計畫中,系統預設會啟用自動偵測時區功能,並 auto_time_zone設定已設為 true。如何停用自動偵測時間功能 將預設值設為 def_auto_time_zone frameworks/base/packages/SettingsProvider/res/values/defaults.xmlfalse

從其他裝置還原備份時,架構會更新該值 預設使用 auto_time_zone 設定。如想確保 無法從備份還原設定,請在備份中加入 auto_time_zone 已定義 restore_blocked_global_settings 陣列 frameworks/base/packages/SettingsProvider/res/values/blocked_settings.xml

時區偵錯和測試

本節說明如何針對 time_zone_detector 服務以及由所有開發人員共用的其他元件 演算法。

使用 device_config 服務設定裝置

device_config 服務是 Android 用於設定的機制 透過遠端伺服器提取的值,來變更行為 。使用 device_config 值進行測試時 尤其是在長時間執行手動測試期間,裝置可能會將 標記,以便重設標記並清除針對測試設定的值。

在 Android 12 以上版本中,如要暫時禁止標記, 請使用:

adb shell cmd device_config set_sync_disabled_for_tests persistent

如要在測試後還原旗標同步處理作業,請使用:

adb shell cmd device_config set_sync_disabled_for_tests none

還原旗標同步處理作業後,請重新啟動裝置。

如需更多資訊,請使用 $ adb shell cmd device_config help

與 time_zone_Detector 服務互動

如要查看 time_zone_detector 的設定和狀態 time_zone_detector 服務,請使用:

adb shell cmd time_zone_detector dump

如要查看偵錯及測試時區偵測的其他指令,請使用:

adb shell cmd time_zone_detector help

說明輸出內容也會描述具有下列特性的 device_config 服務屬性: 可用來影響 time_zone_detector 服務的行為,以便進行測試 或是在實際工作環境中運作詳情請參閱 使用 device_config 服務設定裝置

若要驗證時區偵測結果,測試人員必須知道 time_zone_detector正在使用。瞭解並影響目前的演算法 time_zone_detector,請使用下列其中一個選項:

  • 透過「設定」使用者介面查看。若需更多資訊,請參閲 時區設定
  • 透過 ADB 使用指令列:

    • 如要轉儲 time_zone_detector 狀態,請使用 adb shell cmd time_zone_detector dump
    • 如要修改裝置設定,請使用其他 time_zone_detector 指令。 如需更多資訊,請使用 adb shell cmd time_zone_detector help

以下是 adb shell cmd time_zone_detector dump 指令的輸出內容範例,其中包含目前的資訊 以粗體表示:

$ adb shell cmd time_zone_detector dump
TimeZoneDetectorStrategy:
  mEnvironment.getCurrentUserId()=0
  mEnvironment.getConfiguration(currentUserId)=ConfigurationInternal{mUserId=0, mUserConfigAllowed=true, mTelephonyDetectionSupported=true, mGeoDetectionSupported=true, mAutoDetectionEnabled=true, mLocationEnabled=true, mGeoDetectionEnabled=true}
  [Capabilities=TimeZoneCapabilitiesAndConfig{mCapabilities=TimeZoneDetectorCapabilities{mUserHandle=UserHandle{0}, mConfigureAutoDetectionEnabledCapability=40, mConfigureGeoDetectionEnabledCapability=40, mSuggestManualTimeZoneCapability=30}, mConfiguration=TimeZoneConfiguration{mBundle=Bundle[{geoDetectionEnabled=true, autoDetectionEnabled=true}]}}]
  mEnvironment.isDeviceTimeZoneInitialized()=true
  mEnvironment.getDeviceTimeZone()=Europe/London
  Time zone change log:
  Manual suggestion history:
...
  Geolocation suggestion history:
...
  Telephony suggestion history:
...

這些資訊可以按照以下方式解讀:

mUserConfigAllowed 使用者是否無法透過以下方式控制日期和時間設定: 裝置政策控制器
mTelephonyDetectionSupported 裝置是否具備電話時區偵測功能。
mGeoDetectionSupported 裝置是否支援位置時區偵測功能。這就是 有效狀態,以及是否存在 至少一種 LTZP。
mAutoDetectionEnabled 是否啟用自動偵測時區功能。
mLocationEnabled 主要位置切換按鈕。
mGeoDetectionEnabled 演算法切換鈕:false 代表電話演算法。 true 表示位置演算法。

建議記錄資訊會顯示相關建議 ,以及電話和位置演算法。