หน้านี้อธิบายวิธีการทำงานของการตรวจหาเวลาและเขตเวลาใน Android ช่วงเวลานี้ รวมถึงวิธีที่ Android ตรวจหาเวลาและเขตเวลาโดยอัตโนมัติ รวมถึงการกำหนดค่า ตัวเลือกสำหรับผู้ผลิตอุปกรณ์และข้อมูลการทดสอบ
ภาพรวมของเวลาและเขตเวลา
เพื่อกำหนดเวลาท้องถิ่นของผู้ใช้เพื่อแสดงในสถานที่ต่างๆ เช่น สถานะ Android จะติดตามสถานะ 2 สถานะที่เกี่ยวข้องแต่ไม่เกี่ยวข้องกัน ได้แก่
- เวลา Unix Epoch ปัจจุบัน
- เขตเวลาปัจจุบัน
เวลา Unix Epoch ปัจจุบันและเขตเวลาปัจจุบันเป็นสถานะของทั้งอุปกรณ์ ซึ่งหมายความว่ามีการแชร์ โดยผู้ใช้ทุกคนในอุปกรณ์หนึ่งๆ
เวลา Unix Epoch ปัจจุบันไม่ใช่ค่าคงที่ โดยจะอัปเดตอัตโนมัติเป็น ให้สะท้อนเวลาที่ผ่านไป นอกเหนือจากเวลาปกติ สัญญาณปัจจุบัน ระบบจะปรับเวลา Unix Epoch ของอุปกรณ์ หากพบว่าไม่ถูกต้อง เช่น หลังจากที่อุปกรณ์ไม่มีกระแสไฟเข้า
เขตเวลาปัจจุบันจะกําหนดการปรับเปลี่ยนที่จะแปลง เวลา Unix Epoch ปัจจุบันเป็นเวลาท้องถิ่น ตัวอย่างเช่น ในช่วงฤดูร้อนในลอสแอนเจลิส เวลาของ Unix Epoch ในปัจจุบันจะลดเวลา 7 ชั่วโมง โดยแบ่งเวลาออกเป็น ฤดูหนาวจะลดลง 8 ชั่วโมง
เพื่อรองรับการคำนวณเวลาท้องถิ่นเหล่านี้ อุปกรณ์ Android ทั้งหมดจะมี ฐานข้อมูลของกฎเขตเวลาทั่วโลกทั้งหมด ดูข้อมูลเพิ่มเติมเกี่ยวกับกฎเขตเวลาได้ที่ กฎเขตเวลา
เมื่อผู้ใช้เดินทางไปยังตำแหน่งใหม่ที่ใช้เขตเวลาอื่น ไม่จำเป็นต้องปรับเวลา Epoch ของ Unix ในปัจจุบัน แต่ผู้ใช้มักต้องการ เพื่อดูเวลาท้องถิ่นแทนที่จะเป็นเวลาในสถานที่ก่อนหน้า กำลังเปลี่ยน เขตเวลาปัจจุบันช่วยให้มั่นใจได้ว่ามีการใช้ออฟเซ็ตที่ถูกต้องกับช่วงเวลาปัจจุบัน เวลา Unix Epoch เพื่อแสดงเวลาท้องถิ่นที่ถูกต้องสำหรับตำแหน่งใหม่
AOSP ช่วยให้ผู้ใช้ควบคุมได้ว่าจะให้เขตเวลาและเขตเวลา การตั้งค่าให้โดยอัตโนมัติผ่านกลไกต่อไปนี้
- การตรวจหาเวลาอัตโนมัติ: ตรวจสอบว่าอุปกรณ์ระบุเวลาที่ถูกต้อง เวลา Unix Epoch ปัจจุบัน
- การตรวจหาเขตเวลาอัตโนมัติ: ตรวจสอบว่าอุปกรณ์ระบุเขตเวลา เขตเวลาปัจจุบัน
การตรวจหาเวลาอัตโนมัติ
ส่วนนี้จะแสดงภาพรวมของบริการ time_detector
ที่จัดการ
การตรวจหาเวลาอัตโนมัติ การควบคุมผู้ใช้ ตัวเลือกการกำหนดค่า และการทดสอบ
รายละเอียด
บริการ time_detector
time_detector
บริการ, แสดงในอุปกรณ์ที่ใช้ Android 10 ขึ้นไป, จัดการเวลาอัตโนมัติ
การตรวจจับ ปรับเวลา Epoch ของ Unix ปัจจุบันของอุปกรณ์ตามความจำเป็นเมื่อ
การตรวจหาเวลาอัตโนมัติเปิดใช้งานอยู่
บริการ time_detector
จะมีสถานะใดสถานะหนึ่งจาก 2 สถานะเสมอ ได้แก่ ไม่แน่นอน หรือ
บางข้อ จะมีการกำหนดสถานะบางอย่างหรือไม่แน่นอนของบริการ
ตามเวลาที่แนะนำที่ได้รับจากแหล่งที่มาต่างๆ
เมื่อบริการ time_detector
แน่ใจแล้ว หมายความว่าบริการดังกล่าวได้รับ
คำแนะนำที่มีข้อมูลเวลา Unix Epoch จะแทนที่ Epoch ปัจจุบันของ Unix
หากเวลาที่แนะนำแตกต่างจากเวลา Epoch ของ Unix ปัจจุบัน
เมื่อไม่แน่ใจเกี่ยวกับ time_detector
ระบบจะไม่ลบล้างเวลาปัจจุบัน
สถานะที่ไม่แน่นอนมักจะหมายความว่าบริการ time_detector
ไม่ได้รับเวลา
แนะนำ บริการ time_detector
ก็เริ่มไม่แน่ใจว่ามีการแนะนำหรือไม่
ที่ได้รับ ถือว่าเก่าเกินกว่าที่จะนำมาใช้ได้ ช่วงอายุของคำแนะนำคือ
พิจารณาเพราะการปรับโดยใช้คำแนะนำเวลา Unix Epoch แบบเก่าอาศัย
นาฬิกาแบบเรียลไทม์บนอุปกรณ์ที่ผ่านไป ซึ่งถือว่าไม่ถูกต้องในช่วง
ในระยะยาว
ในการกำหนดเวลา Unix Epoch ปัจจุบันโดยอัตโนมัติ อุปกรณ์จะมี
แหล่งที่มาที่ใช้ได้ รายการเหล่านี้เรียกว่าต้นทางในเอกสารนี้
บริการของ time_detector
จะถือว่าลำดับของคำแนะนำแตกต่างกันโดยอิงตาม
ต้นทาง
บริการ time_detector
เป็นแบบเก็บสถานะ ซึ่งหมายความว่าจะมีการบันทึก
คำแนะนำล่าสุดที่มาจากต้นทางแต่ละแห่ง มีคำแนะนำใหม่ให้กับ
time_detector
หากต้นทางมีข้อมูลเวลา Unix Epoch ล่าสุด
พร้อมใช้งาน บริการ time_detector
จะประเมินคำแนะนำใหม่และคำแนะนำที่มีอยู่อีกครั้ง
และอัปเดตสถานะของอุปกรณ์เมื่อได้รับคำแนะนำ
แม้ว่าเวลา UTC จะได้รับการยอมรับระหว่างประเทศ แต่ก็มีสาเหตุหลายประการ การระบุเวลา Unix Epoch ปัจจุบันไม่ใช่เรื่องง่ายสำหรับ สำหรับอุปกรณ์ Android
- เวลา Unix Epoch เป็นระบบบอกเวลาที่แตกต่างจากเวลา UTC เล็กน้อย การแปลงค่าระหว่าง 2 อย่างนี้ต้องใช้ความรู้ว่าเกิดการก้าวกระโดดขึ้นเมื่อใดและ วิธีที่ต้นทางจัดการ
- ต้นทางอาจพร้อมให้บริการในบางช่วงเวลาหรือในบางกรณีเท่านั้น สถานการณ์ เช่น หากต้นทางต้องมีการเชื่อมต่อเครือข่าย อาจใช้งานได้เฉพาะเมื่ออุปกรณ์เชื่อมต่ออินเทอร์เน็ตเท่านั้น
- ต้นทางอาจไม่ถูกต้องหรือไม่แม่นยำ หรือมีข้อผิดพลาด สำหรับ ตัวอย่างเช่น หากเสาสัญญาณโทรศัพท์ไม่ติดตาม "เวลาสากล" ต้นทางของโทรศัพท์อาจให้คำแนะนำเวลาที่ไม่ถูกต้อง
- อาจมีความไม่ถูกต้องเกิดขึ้นขณะที่เก็บข้อมูลเวลา Epoch ของ Unix ตัวอย่างเช่น ความล่าช้าของเครือข่าย การบัฟเฟอร์ หรือการกำหนดเวลากระบวนการอาจทำให้เกิด เวลา Unix Epoch ให้ไม่ถูกต้อง
- นาฬิกาอ้างอิงที่ใช้ปรับคำแนะนำสำหรับเวลาที่ผ่านไปนับตั้งแต่ คำแนะนำที่ได้รับอาจไม่ถูกต้อง
ต้นทางของการตรวจหาเวลาหลัก 2 รายการที่กำหนดค่าไว้สำหรับการใช้งานโดยค่าเริ่มต้นใน AOSP:
- เครือข่าย: ใช้เครือข่าย เซิร์ฟเวอร์เวลาโปรโตคอลเวลา (NTP)
- โทรศัพท์: ใช้การระบุตัวตนของเครือข่ายและโทรศัพท์เขตเวลา (NITZ) สัญญาณ
ทั้งต้นทางของโทรศัพท์และเครือข่ายต้องเชื่อมต่อกับเครือข่ายภายนอก ซึ่งอาจทำไม่ได้เสมอไป
ตั้งแต่ Android 12 เป็นต้นไป Android ยังรองรับ ต้นทางต่อไปนี้ ซึ่งไม่ได้กําหนดค่าไว้ให้ใช้โดยค่าเริ่มต้น
- GNSS: ใช้ GPS การค้นหาเวลาจากแหล่งที่มาของ GNSS
- ภายนอก: ทั่วไป ซึ่งอนุญาตให้ผู้ผลิตอุปกรณ์ผสานรวมแหล่งข้อมูล เวลา Unix Epoch
การตั้งค่าเวลา
ผู้ใช้สามารถเปิดใช้การตรวจหาเวลาอัตโนมัติในระบบ > วันที่และเวลาในฟิลด์ แอปการตั้งค่า AOSP
รูปที่ 1 การตรวจหาเวลาอัตโนมัติในการตั้งค่า
ตารางต่อไปนี้อธิบายการควบคุมของผู้ใช้ในการตรวจจับเวลาใน AOSP แอปการตั้งค่า
*ใน Android 11 และต่ำกว่า การตั้งค่านี้จะมีข้อความว่าใช้ เวลาที่เครือข่ายระบุ |
|||
ตำแหน่งการตั้งค่า AOSP | ชื่อการตั้งค่า AOSP | ขอบเขต | ลักษณะการทำงาน |
---|---|---|---|
ระบบ > วันที่และเวลา | ตั้งเวลาอัตโนมัติ* | ผู้ใช้ทั้งหมด | ปุ่มเปิด/ปิด เมื่อเปิด อุปกรณ์จะรับผิดชอบในการตรวจหา Unix ปัจจุบัน เวลา Epoch เมื่อปิด ผู้ใช้จะได้รับการควบคุมเพื่อตั้งค่า ของอุปกรณ์ด้วยตนเอง |
เมื่อผู้ใช้ป้อนเวลาด้วยตนเอง ก็จะป้อนเวลาท้องถิ่น ไม่ใช่ Unix Epoch เวลา Unix Epoch ปัจจุบันจะคำนวณโดยใช้เขตเวลาปัจจุบัน เพื่อรับเวลา Unix Epoch
การกำหนดค่า
ผู้ผลิตอุปกรณ์กำหนดค่าบริการ 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 หรือต่ำกว่า เมื่อให้ความสำคัญกับโทรศัพท์มากกว่า
โดยค่าเริ่มต้น ถ้าคำแนะนำที่ถูกต้องที่มีลำดับความสำคัญสูงสุดตรงกับ
เวลาของนาฬิการะบบปัจจุบันเป็นภายใน 2-3 วินาที เวลาของอุปกรณ์จะไม่
เปลี่ยนแปลงได้ ทั้งนี้เพื่อหลีกเลี่ยงการสร้างงานสำหรับแอปที่ติดตั้งซึ่งฟัง
Intent ACTION_TIME_CHANGED
ค่าต้นทางที่อนุญาตมีดังนี้
ขอบเขตเวลาที่อนุญาต
Android 14 มีกรอบเวลาสูงสุดสำหรับเวลา
คำแนะนำที่บริการ time_detector
ได้รับ หากอุปกรณ์รองรับ
กระบวนการ 32 บิต โดยเฟรมเวิร์กจะกำหนดช่วงเวลาสูงสุดเพื่อป้องกันอุปกรณ์
ไม่ให้ใช้คำแนะนำเวลาที่อาจทำให้เกิดปัญหา Y2038
Android 12 เปิดตัวกรอบเวลาที่ต่ำลง
ตรวจสอบเวลาที่แนะนำซึ่งบริการ time_detector
ได้รับ ยิ่งน้อย
ค่าขอบเขตเวลาที่ใช้สำหรับคำแนะนำอัตโนมัติตั้งค่าจากการประทับเวลาของบิลด์
ซึ่งเป็นไปตามหลักการที่ว่า เวลาที่ถูกต้องจะต้องอยู่ก่อนอุปกรณ์
สร้างอิมเมจระบบ หากเวลาที่แนะนำอยู่ก่อนช่วงเวลาต่ำสุด ค่า
บริการ time_detector
ทิ้งคำแนะนำเนื่องจากจะใช้งานไม่ได้หาก
การประทับเวลาของบิลด์ถูกต้อง
สำหรับอุปกรณ์ที่ใช้ Android 11 หรือต่ำกว่า บริการ time_detector
จะไม่
ตรวจสอบคำแนะนำเวลา Unix Epoch ที่เข้ามาใหม่
การแก้ไขข้อบกพร่องและการทดสอบเวลา
ส่วนนี้ให้ข้อมูลเกี่ยวกับวิธีแก้ไขข้อบกพร่องและทดสอบลักษณะการทำงานของ
บริการ 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 Epoch ปัจจุบันของอุปกรณ์
ข้อมูลประวัติคำแนะนำจะระบุว่ามีคำแนะนำใดขึ้นโดย จากต้นทางแต่ละแห่ง
การตรวจหาเขตเวลาอัตโนมัติ
ส่วนนี้จะแสดงภาพรวมของบริการ time_zone_detector
ที่
จัดการการตรวจหาเขตเวลาอัตโนมัติ การควบคุมของผู้ใช้ในการตั้งค่า โทรศัพท์ และ
การตรวจหาเขตเวลาของสถานที่และรายละเอียดการทดสอบ
บริการ time_zone_detector
time_zone_detector
บริการ ซึ่งแสดงอยู่ในอุปกรณ์ที่ใช้ Android 11 ขึ้นไป จัดการเวลาอัตโนมัติ
ของการตรวจจับโซน จะปรับเขตเวลาปัจจุบันของอุปกรณ์ตามความจำเป็นเมื่อ
การตรวจหาเขตเวลาอัตโนมัติเปิดอยู่
เมื่อเปิดใช้การตรวจหาเขตเวลาอัตโนมัติ time_zone_detector
จะอยู่ในเขตเวลาได้
สถานะใดสถานะหนึ่งจาก 2 สถานะ ได้แก่ ไม่แน่นอนและแน่นอน
เมื่อบริการ time_zone_detector
อยู่ในสถานะหนึ่ง นี่หมายความว่า
บริการของ time_zone_detector
ได้รับข้อมูลเขตเวลาที่ชัดเจน
อาจทำให้เขตเวลาลบล้างเขตเวลาปัจจุบันได้ เมื่อไม่แน่ใจ
หมายความว่า ไม่ได้รับข้อมูล หรือมีเพียง ข้อมูลที่มีความน่าเชื่อถือต่ำ
หมายความว่าจะไม่แทนที่เขตเวลาปัจจุบัน
บางรัฐของบริการ time_zone_detector
อาจรวมรัฐที่
time_zone_detector
ไม่มีข้อมูลเขตเวลาที่จะใช้ หรือที่ที่มี
เขตเวลาต่างๆ ได้ให้เลือกหลากหลาย รัฐเหล่านี้มีดังต่อไปนี้
- อุปกรณ์จะระบุสถานะที่มีเขตเวลาเป็น 0
ที่ไม่มีเขตเวลา เช่น ในน่านน้ำระหว่างประเทศหรือใน
พื้นที่ที่มีข้อขัดแย้ง สถานะนี้คล้ายกับสถานะที่ไม่แน่นอน แต่บ่งชี้
time_zone_detector
จะไม่ต้องดำเนินการใดๆ เพิ่มเติม กำหนดเขตเวลา - คุณป้อนรัฐที่มีหลายเขตเวลา
ความคลุมเครือหรือสภาพพรมแดน ในสถานะนี้ หากเขตเวลาปัจจุบันคือ
หนึ่งในเขตเวลา
time_zone_detector
ที่แน่นอนคือ เขตเวลาปัจจุบันยังคงเดิม ไม่เช่นนั้น ให้ถือว่ามีเวลา โดยใช้โซน สิ่งนี้จะทำให้time_zone_detector
เป็นองค์ประกอบของความสามารถในการดึงดูด หากผู้ใช้ได้เลือกเขตเวลาด้วยตนเองก่อนหน้านี้ หรือเป็น เข้าใกล้ชายแดน
สถานะบางอย่างหรือไม่แน่นอนของบริการ time_zone_detector
จะกำหนดตาม
คำแนะนำเขตเวลาที่ส่งโดยอัลกอริทึม
โดยทั่วไปแล้ว คำแนะนำจะมีอยู่ 2 ประเภทซึ่งใกล้เคียงกับสถานะที่เป็นไปได้
ของ time_zone_detector
: แน่นอนและไม่แน่นอน รายการต่อไปนี้คือ
ตัวอย่างประเภทคำแนะนำ
ประเภท =
uncertain
,zoneIds = []
- แต่อัลกอริทึมจะไม่รู้ว่าเขตเวลาคืออะไร
ประเภท =
certain
,zoneIds = ["Europe/London"]
- อัลกอริทึมจะตรวจสอบว่าโซนเป็นยุโรป/ลอนดอน
ประเภท =
certain
,zoneIds = []
`- อัลกอริทึมมีความแน่นอน แต่ไม่มีรหัสโซนเชื่อมโยงอยู่ ด้วยตำแหน่งปัจจุบัน
ประเภท =
certain
,zoneIds = ["America/Denver", "America/Phoenix"]
- อัลกอริทึมจะมั่นใจว่าคำตอบคือ 1 ใน 2 โซน แต่ไม่สามารถเลือกระหว่าง "อเมริกา/เดนเวอร์" และ "อเมริกา/ฟีนิกซ์"
บริการ time_zone_detector
ถือว่าลำดับของคำแนะนำแตกต่างกัน
โดยอิงตามอัลกอริทึม คำแนะนำอาจขึ้นอยู่กับอัลกอริทึมด้วย
มีข้อมูลเมตาที่บ่งชี้ถึงความแน่นอนของอัลกอริทึม
บริการ time_zone_detector
เป็นแบบเก็บสถานะ ซึ่งหมายความว่ามีการเก็บบันทึกไว้
คำแนะนำล่าสุดโดยอัลกอริทึมแต่ละตัว ส่งคำแนะนำใหม่แล้ว
ไปยังบริการ time_zone_detector
หากไม่มีคำแนะนำก่อนหน้าแล้ว
ถูกต้อง; กล่าวคือ หากตอนนี้อัลกอริทึมมีข้อเสนอแนะที่ต่างจากนี้ หรือมี
สูญเสียความสามารถในการตรวจหาเขตเวลา บริการ time_zone_detector
ประเมินคำแนะนำใหม่และที่มีอยู่อีกครั้ง รวมถึงอัปเดตสถานะอุปกรณ์เมื่อ
ได้รับคำแนะนำแล้ว
Android รองรับอัลกอริทึม 2 แบบสำหรับการตรวจหาเขตเวลา ดังนี้
- โทรศัพท์
- ตำแหน่ง
ตามปกติบริการ time_zone_detector
จะใช้อัลกอริทึมเดี่ยวเพื่อ
กำหนดเขตเวลา เมื่ออุปกรณ์รองรับอัลกอริทึมตำแหน่ง
อัลกอริทึมที่อุปกรณ์ใช้จะพิจารณาจาก
การตั้งค่าเขตเวลาที่ผู้ใช้กำหนดค่าไว้ เมื่อ
อัลกอริทึมที่ใช้ไม่แน่นอนเขตเวลา time_zone_detector
มักจะไม่ใช้คำแนะนำจากอัลกอริทึมอื่น คำแนะนำ
ที่เชื่อมโยงกับอัลกอริทึมซึ่งไม่ได้ใช้งานแล้วจะจัดเก็บไว้ในหน่วยความจําได้โดย
time_zone_detector
แต่ระบบจะไม่นำมาใช้ เว้นแต่อัลกอริทึม
การเปลี่ยนแปลง เมื่อผู้ใช้เปลี่ยนการตั้งค่าสำหรับการตรวจหาเขตเวลาอัตโนมัติ
และอัลกอริทึมเปลี่ยนแปลง คำแนะนำล่าสุดที่มีให้สำหรับ
ที่ใช้อัลกอริทึมใหม่
สำหรับรายละเอียดเกี่ยวกับสถานการณ์ที่ใช้อัลกอริทึมหลายแบบในการกำหนด เขตเวลา โปรดดูที่ โหมดสำรองสำหรับโทรศัพท์
โหมดสำรองสำหรับโทรศัพท์
สำหรับอุปกรณ์ที่ใช้ Android 13 ขึ้นไป
บริการ time_zone_detector
รองรับโหมดสำรองสำหรับโทรศัพท์ โหมดนี้
จะให้ Android ใช้คำแนะนำการตรวจจับโทรศัพท์เป็นการชั่วคราวในกรณีที่
การตรวจหาตำแหน่งไม่สามารถตรวจจับเขตเวลาหรือตำแหน่งที่ตรวจหาตำแหน่งได้
จะใช้เวลาในการตรวจหาเขตเวลานานกว่าการตรวจจับโทรศัพท์
โหมดสำรองสำหรับโทรศัพท์ใช้ได้กับอุปกรณ์ทั้งที่โทรศัพท์และตำแหน่ง การตรวจจับที่สนับสนุน และตำแหน่งที่ผู้ใช้ได้เปิดใช้งานใช้ตำแหน่งเพื่อตั้งค่า เขตเวลาในการตั้งค่าเขตเวลา โหมดเปิดใช้อยู่ โดยอัตโนมัติเมื่อรีบูตอุปกรณ์ และเมื่อปิดโหมดบนเครื่องบิน
ใน Android 14 ขึ้นไป ระบบอาจใช้โทรศัพท์สำรองสำหรับโทรศัพท์ ทริกเกอร์ผ่าน API การรายงานสถานะ LTZP กล่าวคือ หาก LTZP รายงานว่าไม่แน่นอนและความสามารถในการตรวจหาตำแหน่ง หรือเขตเวลาลดลงตามสภาพแวดล้อม โหมดสำรองสำหรับโทรศัพท์จะ ทริกเกอร์
เมื่ออยู่ในโหมดสำรองสำหรับโทรศัพท์ บริการ time_zone_detector
จะใช้โทรศัพท์
คำแนะนำเสมือนว่าการตรวจหาตำแหน่งปิดอยู่จนถึงอัลกอริทึมตำแหน่ง
ให้คำแนะนำบางอย่าง หลังจากได้รับคำแนะนำบางอย่าง โทรศัพท์
โหมดสำรองปิดใช้อยู่และจะใช้คำแนะนำตำแหน่งเพียงอย่างเดียว
โปรดดูรายละเอียดการกําหนดค่าสําหรับโหมดสํารองของโทรศัพท์ที่หัวข้อ การกำหนดค่าการตรวจหาเขตเวลา
การตั้งค่าเขตเวลา
ผู้ใช้สามารถเปิดใช้และกำหนดค่าสำหรับการตรวจหาเขตเวลาอัตโนมัติได้ใน แอปการตั้งค่า AOSP
รูปที่ 2 ตรวจหาเขตเวลาอัตโนมัติในการตั้งค่า
ตารางต่อไปนี้จะอธิบายการควบคุมของผู้ใช้ในการตรวจหาเขตเวลาใน แอปการตั้งค่า AOSP
*ใน Android 11 และต่ำกว่า การตั้งค่านี้จะมีป้ายกำกับไว้ ใช้เขตเวลาที่ระบุโดยเครือข่าย |
|||
ตำแหน่งการตั้งค่า AOSP | ชื่อการตั้งค่า AOSP | ขอบเขต | ลักษณะการทำงาน |
---|---|---|---|
ระบบ > วันที่และเวลา | ตั้งเขตเวลาอัตโนมัติ* | ผู้ใช้ทั้งหมด | ปุ่มเปิด/ปิด เมื่อเปิด อุปกรณ์จะรับผิดชอบในการตรวจหาเวลาปัจจุบัน เมื่อปิด ผู้ใช้จะได้รับการควบคุมเพื่อตั้งค่า ด้วยตนเอง |
ระบบ > วันที่และเวลา | ใช้ตำแหน่งเพื่อตั้งค่าเขตเวลา | ผู้ใช้ปัจจุบัน | ปุ่มเปิด/ปิด พร้อมใช้งานใน Android 12 ปุ่มสลับนี้ จะแสดงเมื่ออุปกรณ์รองรับการตรวจหาเขตเวลาของตำแหน่งเท่านั้น สำหรับการเปลี่ยนแปลงที่เกิดขึ้นใน Android 14 โปรดดู อุปกรณ์ที่รองรับเฉพาะการตรวจหาเขตเวลาของตำแหน่งเท่านั้น |
ตำแหน่ง | ใช้ตำแหน่ง | ผู้ใช้ปัจจุบัน | ปุ่มเปิด/ปิด อนุญาตหรือป้องกันการใช้ตำแหน่งของอุปกรณ์โดยทั่วไป ค่าจะเป็น ที่เกี่ยวข้องหากอุปกรณ์รองรับการตรวจหาเขตเวลาของตำแหน่ง |
ข้อมูลต่อไปนี้จะแสดงภาพรวมของลักษณะการทำงานของอุปกรณ์สำหรับเขตเวลา ตามการตั้งค่าที่ผู้ใช้เลือก
[วันที่และเวลา] ตั้งเขตเวลาอัตโนมัติ: ปิด
- ผู้ใช้ต้องเลือกเขตเวลาด้วยตนเอง
[วันที่และเวลา] ตั้งเขตเวลาอัตโนมัติ: เปิด
[ตำแหน่ง] ใช้ตำแหน่ง: ปิด
- ระบบจะใช้สัญญาณโทรศัพท์ในการตรวจหาเขตเวลา
[ตำแหน่ง] ใช้ตำแหน่ง: เปิด
[วันที่และเวลา] ใช้ตำแหน่งเพื่อตั้งค่าเขตเวลา: เปิด
- ระบบจะใช้ตำแหน่งเพื่อตรวจหาเขตเวลา
[วันที่และเวลา] ใช้ตำแหน่งเพื่อตั้งค่าเขตเวลา: ปิด
- สัญญาณโทรศัพท์จะใช้ในการตรวจจับเวลา
อุปกรณ์ผู้ใช้หลายคน
เนื่องจากการตั้งค่าหลายอย่างที่เกี่ยวข้องกำหนดขอบเขตเฉพาะผู้ใช้ปัจจุบัน พฤติกรรมการตรวจหาเขตเวลาของอุปกรณ์อาจเปลี่ยนแปลงเมื่อผู้ใช้ปัจจุบัน การเปลี่ยนแปลงในอุปกรณ์ Android ที่มีผู้ใช้หลายคน
ปุ่มสลับใช้ตำแหน่งเพื่อตั้งค่าเขตเวลาจะกำหนดขอบเขตอยู่ที่ผู้ใช้ปัจจุบันและ ไม่ได้ถูกจำกัดโดยนโยบายด้านอุปกรณ์ ซึ่งหมายความว่าผู้ใช้สามารถเปลี่ยนแปลงได้ตลอดเวลา แม้ว่าปุ่มสลับตั้งเขตเวลาอัตโนมัติจะปิดอยู่ หรือในกรณีที่อื่นๆ การควบคุมเวลาหรือเขตเวลาจะถูกจํากัดโดยเครื่องมือควบคุมนโยบายด้านอุปกรณ์
อุปกรณ์ที่รองรับเฉพาะอัลกอริทึมการตรวจหาเขตเวลาของสถานที่เท่านั้น
ส่วนนี้จะอธิบายลักษณะของอุปกรณ์ที่รองรับเฉพาะตำแหน่ง อัลกอริทึม
Android 14 ขึ้นไป
- ตัวเลือกใช้ตำแหน่งจะไม่แสดงให้ผู้ใช้เห็นในการตั้งค่า AOSP แอปและอุปกรณ์จะทำงานเสมือนว่าตัวเลือกใช้ตำแหน่งเปิดอยู่
- ค่าของการตั้งค่า
SettingsProvider
ที่กำหนดขอบเขตระดับผู้ใช้location_time_zone_detection_enabled
จะถูกละเว้น ค่านี้จะบันทึก ค่ากำหนดของผู้ใช้ในอุปกรณ์ประเภทอื่น
Android 12 หรือ Android 13
- ตัวเลือกใช้ตำแหน่งจะแสดงต่อผู้ใช้ในแอปการตั้งค่า AOSP และ ผู้ใช้ปิดใช้ตัวเลือกนี้ได้ หากปิดใช้ตัวเลือก ระบบจะ อุปกรณ์จะไม่ตรวจหาเขตเวลาโดยอัตโนมัติ
ลักษณะการทำงานเมื่อเปลี่ยนไปใช้และจากการตรวจจับอัตโนมัติ
เมื่อผู้ใช้เปลี่ยนการตรวจหาเขตเวลาจากด้วยตนเองเป็นอัตโนมัติ
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 |
ขึ้นอยู่กับการกำหนดค่าฟีเจอร์หรือคอมโพเนนต์ของปลั๊กอิน โดยทั่วไปความถูกต้องจะแตกต่างกันไปตามสิ่งต่อไปนี้
|
ความสามารถในการอัปเดต | การตรวจหาโทรศัพท์จะใช้ไฟล์ที่มีอยู่ในเวลาที่อัปเดตได้ โมดูลข้อมูลโซน (com.android.tzdata APEX) | ขึ้นอยู่กับการกำหนดค่าฟีเจอร์หรือคอมโพเนนต์ของปลั๊กอิน โดยทั่วไปความสามารถในการอัปเดตจะขึ้นอยู่กับว่าอุปกรณ์ใช้เซิร์ฟเวอร์หรือไคลเอ็นต์ ข้อมูลแผนที่เขตเวลา หมายเหตุ: ข้อมูลแผนที่เขตเวลาไม่อยู่ในเวลา ใช้โมดูลข้อมูลโซนเพื่ออัปเดตสำเนา TZDB ของ Android และเวลาอื่น ข้อมูลโซน นอกจากนี้ ผู้ผลิตอุปกรณ์ยังต้องพิจารณาความสอดคล้องของเวอร์ชันระหว่าง กฎเขตเวลาและข้อมูลการแมปเขตเวลา |
การใช้พลังงาน | ไม่มีหรือใช้พลังงานต่ำ | ขึ้นอยู่กับการตั้งค่าตำแหน่งของผู้ใช้ ปลั๊กอินที่ใช้ และโดยทั่วไป แอปอื่นๆ ขอตำแหน่งอะไร |
ความพร้อมใช้งาน | อุปกรณ์โทรศัพท์เท่านั้น โดยปกติต้องใช้ซิมที่ใช้งานได้ | การตรวจหาตำแหน่งขึ้นอยู่กับผู้ให้บริการตำแหน่งที่มี |
ความเป็นส่วนตัวของผู้ใช้
เขตเวลาที่ผู้ใช้ต้องการมักจะกำหนดตามภูมิศาสตร์ ตำแหน่งนั้น ตำแหน่งเป็นข้อมูลที่ละเอียดอ่อน ผู้ใช้อาจกังวลเกี่ยวกับ ทราบว่ามีการแชร์ตำแหน่งของตนโดยเป็นส่วนหนึ่งของการตรวจหาเขตเวลา แอปทั้งหมดที่ทำงานในอุปกรณ์จะสามารถอ่าน เขตเวลาปัจจุบันของอุปกรณ์โดยไม่ต้องขออนุญาต Android และ แอปอาจอนุมานแนวคิดที่ไม่ชัดเจนเกี่ยวกับตำแหน่งของอุปกรณ์ได้จากข้อมูลนี้
กล่าวอย่างเจาะจงก็คือ การตรวจหาเขตเวลาจะทำงานผ่านพาสซีฟหรือแบบแอ็กทีฟ หมายถึง
- พาสซีฟ: มีบางอย่างในสภาพแวดล้อมของอุปกรณ์จะบอกอุปกรณ์ว่า ที่จะใช้ในสภาพแวดล้อมดังกล่าว
- ใช้งานอยู่: อุปกรณ์ต้องกำหนดเขตเวลาเองและ ขึ้นอยู่กับผู้ใช้ การตั้งค่าความเป็นส่วนตัวและความยินยอมของผู้ใช้ ตำแหน่งของอุปกรณ์โดยตรง แล้วแชร์ตำแหน่งกับภายนอกได้ บริการต่างๆ ดูรายละเอียดเกี่ยวกับความเป็นส่วนตัวและความยินยอมของผู้ใช้ได้จากการสนทนาด้านล่าง
การตรวจจับแบบแพสซีฟ เช่น อัลกอริทึมโทรศัพท์ จะไม่มี ผลกระทบต่อความเป็นส่วนตัวของผู้ใช้
การตรวจจับที่ใช้งานอยู่ เช่น ด้วยอัลกอริทึมตำแหน่ง จะเกี่ยวข้องกับการพิจารณา ตำแหน่งของอุปกรณ์ ซึ่งผู้ใช้อาจไม่ต้องการยอมรับ และสถานที่ตั้ง อาจส่งผ่านเครือข่ายเพื่อระบุรหัสเขตเวลาได้
แนวทางด้านความเป็นส่วนตัวของผู้ใช้ในการตรวจหาเขตเวลาของ Android ทำให้ผู้ใช้ ความสามารถในการปิดใช้งานอัลกอริทึมแต่ละรายการที่คาดว่าจะทำงานอยู่ นอกจากนี้ โค้ดแพลตฟอร์ม AOSP ไม่ได้จัดการกับสถานที่ตั้งโดยตรง การตรวจหาตำแหน่งและการจับคู่ตำแหน่งกับรหัสเขตเวลาจะอยู่ในปลั๊กอิน ส่วนประกอบที่กำหนดค่าไว้โดยผู้ผลิตอุปกรณ์
ดูรายละเอียดเพิ่มเติมเกี่ยวกับฟีเจอร์ความเป็นส่วนตัวของผู้ใช้ได้ที่เขตเวลาของตําแหน่ง การตรวจจับ
การกำหนดค่า
ผู้ผลิตอุปกรณ์สามารถกำหนดค่าบริการ time_zone_detector
เพื่อเปลี่ยนแปลง
ลักษณะการทำงาน ส่วนนี้จะอธิบายตัวเลือกการกำหนดค่าสำหรับ
ลักษณะการทำงานของบริการ time_zone_detector
สำหรับรายละเอียดการกำหนดค่าสำหรับ
อัลกอริทึมการตรวจหาโทรศัพท์และเขตเวลา โปรดดูที่
การตรวจจับเขตเวลาของโทรศัพท์
และ
การตรวจหาเขตเวลาของตำแหน่ง
การกำหนดค่า AOSP พื้นฐานอยู่ที่
frameworks/base/core/res/res/values/config.xml
คีย์การกำหนดค่า | ค่า AOSP | คำอธิบาย |
---|---|---|
config_supportTelephonyTimeZoneFallback |
true |
เมื่อ true , time_zone_detector ใช้โทรศัพท์
โหมดสำรอง ฟีเจอร์นี้พร้อมใช้งานใน Android 13
และสูงกว่า
|
การเปลี่ยนลักษณะการทำงานเริ่มต้นของอุปกรณ์
ใน AOSP การตรวจหาเขตเวลาอัตโนมัติจะเปิดใช้โดยค่าเริ่มต้นพร้อมด้วย
ตั้งค่า auto_time_zone
เป็น true
วิธีปิดใช้การตรวจหาเวลาอัตโนมัติ
โดยค่าเริ่มต้น ให้ตั้งค่า def_auto_time_zone
ที่กำหนดไว้ใน
วันที่ frameworks/base/packages/SettingsProvider/res/values/defaults.xml
ไปยัง false
เมื่อกู้คืนข้อมูลสำรองจากอุปกรณ์อื่น เฟรมเวิร์กจะอัปเดตค่า
ของการตั้งค่า 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 เพื่อกำหนดค่า
พฤติกรรมที่แก้ไขได้โดยใช้ค่าที่มักจะดึงมาจากเซิร์ฟเวอร์ระยะไกล
ตามโค้ดที่เป็นกรรมสิทธิ์ (ไม่ใช่ AOSP) เมื่อใช้ค่า 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
หลังจากกู้คืนการซิงค์ข้อมูล Flag ให้รีบูตอุปกรณ์
โปรดดูข้อมูลเพิ่มเติมที่ $ 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
ให้ใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
- ตรวจสอบด้วย UI การตั้งค่า สำหรับข้อมูลเพิ่มเติม โปรดดู การตั้งค่าเขตเวลา
ใช้บรรทัดคำสั่งผ่าน 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 |
ระบุว่าอุปกรณ์รองรับการตรวจหาเขตเวลาของตำแหน่งหรือไม่ นี่คือ สถานะ effective ตามการกำหนดค่าและการแสดงข้อมูล ของ LTZP อย่างน้อย 1 รายการ |
mAutoDetectionEnabled |
การตรวจหาเขตเวลาอัตโนมัติเปิดใช้อยู่ |
mLocationEnabled |
สลับตําแหน่งหลัก |
mGeoDetectionEnabled |
การเปลี่ยนอัลกอริทึม: false ระบุอัลกอริทึมโทรศัพท์
และ true จะระบุอัลกอริทึมของสถานที่ |
ข้อมูลประวัติคำแนะนำจะแสดงคำแนะนำที่มีผู้เสนอ ผ่านการตั้งค่า (ด้วยตนเอง) รวมถึงอัลกอริทึมโทรศัพท์และตำแหน่ง