외부 시간 감지

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 시간을 설정합니다.