ตั้งแต่ Android 12 เป็นต้นไป Android สามารถใช้แหล่งเวลาภายนอกเพื่อ แนะนำเวลา Epoch ของ Unix ให้กับบริการตรวจหาเวลาได้ โดยจะไม่ได้เปิดใช้ โดยค่าเริ่มต้นใน AOSP
แหล่งเวลาภายนอกช่วยให้คุณให้คำแนะนำเวลาที่กำหนดเองได้อย่างสมบูรณ์
แก่ Android หลังจากได้รับคำแนะนำจากแหล่งเวลาภายนอกแล้ว บริการ time_detector
จะพิจารณาว่าจะอัปเดตนาฬิกาของระบบหรือไม่ตามกฎการจัดลําดับความสําคัญของเวลาอัตโนมัติที่กําหนดค่าไว้
การใช้งาน
หากต้องการรองรับการตรวจหาเวลาภายนอก คุณต้องใช้คอมโพเนนต์ที่ส่งคำแนะนำเกี่ยวกับเวลาภายนอกไปยังtime_detector
บริการผ่านการเรียกใช้ API ของระบบ
หากต้องการกำหนดค่าต้นทางภายนอก ให้ใช้core/res/res/values/config.xml
ไฟล์การกำหนดค่าเซิร์ฟเวอร์ของระบบ เพิ่มค่า external
ลงใน
config_autoTimeSourcesPriority
ตัวอย่างต่อไปนี้จะบอกให้ Android ให้คำแนะนำเวลาภายนอกมี
ลำดับความสำคัญสูงสุดเมื่อตั้งค่านาฬิกาของระบบ หากไม่มีคำแนะนำเวลาภายนอกที่ถูกต้อง ระบบจะใช้ต้นทางถัดไป ซึ่งในกรณีนี้คือ gnss
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
หากต้องการให้คำแนะนำเกี่ยวกับเวลาภายนอกแก่ระบบ ให้ใช้วิธี
suggestExternalTime
ใน TimeManager
หากกำหนดค่าต้นทางภายนอกโดยใช้ config_autoTimeSourcesPriority
ในไฟล์กำหนดค่าและไม่มีคำแนะนำเวลาที่มีลำดับความสำคัญสูงกว่า Android จะใช้การประทับเวลาที่ส่งไปยังเมธอดนี้เพื่อตั้งเวลา Epoch ของ Unix ปัจจุบัน