Android 12부터 Android는 선택적으로 외부 시간 소스를 사용하여 Unix epoch 시간을 time_detector
서비스에 제안할 수 있습니다. AOSP에서는 기본적으로 활성화되어 있지 않습니다.
외부 시간 원점을 통해 기기 제조업체는 Android에 완전히 맞춤화된 시간 제안을 제공할 수 있습니다. 외부 시간 출처로부터 제안을 받은 후 time_detector
서비스는 구성된 우선 순위 규칙 을 사용하여 시스템 시계를 업데이트할지 여부를 결정합니다.
구현
외부 시간 감지를 지원하려면 장치 제조업체가 시스템 API 호출을 통해 time_detector
서비스에 외부 시간 제안을 제출하는 구성 요소를 구현해야 합니다.
외부 오리진을 구성하려면 core/res/res/values/config.xml
시스템 서버 구성 파일을 사용합니다. config_autoTimeSourcesPriority
external
에 값을 추가합니다.
다음 예제는 시스템 시계를 설정할 때 외부 시간 제안에 가장 높은 우선 순위를 부여하도록 Android에 지시합니다. 유효한 외부 시간 제안이 없으면 다음 원점(이 경우 gnss
)이 사용됩니다.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
시스템에 외부 시간 제안을 제공하려면 TimeManager
에서 제안된 suggestExternalTime()
메서드를 사용하십시오. 외부 원본이 구성 파일에서 config_autoTimeSourcesPriority
를 사용하여 구성되고 더 높은 우선 순위 시간 제안을 사용할 수 없는 경우 Android는 이 메서드에 전달된 타임스탬프를 사용하여 현재 Unix epoch 시간을 설정합니다.