외부 시간 감지

Android 12부터는 선택적으로 외부 시간 소스를 사용하여 time_detector 서비스에 Unix 에포크 시간을 제안할 수 있습니다. 이 기능은 AOSP에서 기본적으로 사용 설정되지 않습니다.

외부 시간 출처를 통해 기기 제조업체는 Android에 완전 맞춤형 시간 추천을 제공할 수 있습니다. 외부 시간 출처의 추천을 수신한 후 time_detector 서비스는 구성된 우선순위 지정 규칙을 사용하여 시스템 시계를 업데이트할지 여부를 결정합니다.

구현

외부 시간 감지를 지원하기 위해 기기 제조업체는 시스템 API 호출을 통해 time_detector 서비스에 외부 시간 추천을 제출하는 구성요소를 구현해야 합니다.

외부 출처를 구성하려면 core/res/res/values/config.xml 시스템 서버 구성 파일을 사용합니다. external 값을 config_autoTimeSourcesPriority에 추가합니다.

다음 예에서는 시스템 시계를 설정할 때 외부 시간 추천에 가장 높은 우선순위를 부여하도록 Android에 지시합니다. 사용 가능한 유효한 외부 시간 추천이 없으면 다음 출처(이 경우 gnss)가 사용됩니다.

<string-array name="config_autoTimeSourcesPriority">
        <item>external</item>
        <item>gnss</item>
</string-array>

시스템에 외부 시간 추천을 제공하려면 TimeManager에서 suggestExternalTime() 메서드를 사용합니다. 외부 출처가 구성 파일의 config_autoTimeSourcesPriority를 사용하여 구성되었고 우선순위가 더 높은 시간 추천을 사용할 수 없는 경우 Android는 이 메서드에 전달된 타임스탬프를 사용하여 현재 Unix 에포크 시간을 설정합니다.