Từ Android 12, Android có thể tuỳ ý sử dụng
nguồn thời gian để đề xuất thời gian bắt đầu của hệ thống Unix cho
Dịch vụ time_detector
. Đây không phải
được bật theo mặc định trong AOSP.
Nguồn thời gian bên ngoài cho phép nhà sản xuất thiết bị cung cấp hoàn toàn
đề xuất thời gian tuỳ chỉnh cho Android. Sau
nhận đề xuất từ nguồn gốc thời gian bên ngoài, dịch vụ time_detector
xác định xem có cập nhật đồng hồ hệ thống bằng cách sử dụng
quy tắc ưu tiên.
Triển khai
Để hỗ trợ phát hiện thời gian bên ngoài, nhà sản xuất thiết bị phải triển khai
thành phần gửi đề xuất thời gian bên ngoài cho time_detector
thông qua lệnh gọi API hệ thống.
Để định cấu hình nguồn bên ngoài, hãy sử dụng core/res/res/values/config.xml
tệp cấu hình máy chủ hệ thống. Thêm giá trị external
vào
config_autoTimeSourcesPriority
.
Ví dụ sau đây yêu cầu Android đưa ra các đề xuất theo thời gian bên ngoài
mức độ ưu tiên cao nhất khi đặt đồng hồ hệ thống. Nếu không có bên ngoài hợp lệ
thời gian gợi ý thì điểm khởi hành tiếp theo (gnss
) trong trường hợp này sẽ được sử dụng.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Để đề xuất thời gian bên ngoài cho hệ thống, hãy sử dụng
suggestExternalTime()
trong TimeManager
. Nếu nguồn bên ngoài được định cấu hình bằng
config_autoTimeSourcesPriority
trong tệp cấu hình và không phiên bản cao hơn
đề xuất thời gian ưu tiên, Android sẽ sử dụng
được truyền vào phương thức này để đặt thời gian bắt đầu của hệ thống Unix hiện tại.