時間總覽

本頁面說明 Android 的時間與時區偵測功能的運作方式。這包括 Android 如何自動偵測時間和時區、裝置製造商的設定選項,以及測試資訊。

時間和時區總覽

為在狀態列等位置顯示使用者的本地時間,Android 會追蹤兩個相關但獨立的狀態:

  • 目前的 Unix 紀元時間
  • 目前時區

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

目前的 Unix 紀元時間不是固定值。這個 API 的 反映時間的推移除了正常的時間流逝之外,如果發現裝置的目前 Unix 紀元時間不正確 (例如裝置沒電後),系統也會調整。

目前的時區會決定要進行的調整,以便將目前的 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. 您可以在「設定」中自動偵測時間。

下表說明 AOSP 設定應用程式中時間偵測的使用者控制項。

*在 Android 11 以下版本中,這項設定的名稱為「Use network-provided time」

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

切換按鈕。

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

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

設定

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

起源優先順序

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

對於搭載 Android 11 以下版本的裝置,來源優先順序會硬式編碼為 ["telephony", "network"],也就是說,電話建議會優先於網路建議。

預設的 AOSP 設定如下:

<!-- 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 服務的設定和狀態,請使用:

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 的可能狀態相近:確定不確定。以下是建議類型的範例:

  • type = uncertain, zoneIds = []

    • 演算法不知道時區為何。
  • type = certain, zoneIds = ["Europe/London"]

    • 演算法確定可用區為 Europe/London。
  • type = certain, zoneIds = []`

    • 演算法可以確定,但沒有任何區域 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)。 取決於功能設定或外掛程式元件。

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

注意:用於更新 Android 的 TZDB 副本和其他時區資訊的時區資料模組中,並未包含時區對應資料。

裝置製造商也必須考量時區規則和時區對應資料之間的版本一致性。
耗電量 無電源用量或低耗電 取決於使用者的所在位置設定、所使用的外掛程式,以及其他應用程式要求的位置。
適用地區 僅限電話裝置。通常需要使用可運作的 SIM 卡。 位置偵測功能的運作取決於可用的地點供應器。
使用者隱私

使用者偏好的時區通常會根據其地理位置判定。位置為機密資料。使用者可能會有所顧慮 試圖偵測時區。 與時區偵測無關,在裝置上執行的所有應用程式都能讀取裝置目前的時區,且無須 Android 權限,應用程式也可以根據這項資訊推斷裝置位置,但不一定準確。

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

  • 被動:裝置環境中的項目會告知裝置 建立預設時區
  • 主動:裝置必須自行計算時區,並根據使用者的隱私權設定和同意聲明,取得裝置的位置資訊,然後與外部服務分享位置資訊。如要進一步瞭解使用者隱私權和同意聲明,請參閱以下討論內容。

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

主動偵測 (例如位置演算法) 會判斷裝置的位置,而使用者可能不願意同意這項要求,而且位置資訊可能會透過網路傳送,以便判斷時區 ID。

Android 在偵測時區時保護使用者隱私的做法,為使用者提供 可讓您個別停用預期作用中的演算法。 此外,AOSP 平台程式碼不會直接處理位置資訊本身:位置偵測和將位置對應至時區 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 代表位置演算法。

建議記錄資訊會指出系統透過設定 (手動) 和電話與位置演算法提供的建議。