ใน Android 12 Android จะใช้แหล่งที่มาของเวลาภายนอกเพื่อแนะนำเวลา Unix Epoch ให้บริการ time_detector
ได้ ซึ่งจะไม่เปิดใช้โดยค่าเริ่มต้นใน 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 ปัจจุบัน