2011-10-24 4 views
3

내 앱에 정확한 시간이 필요합니다. 사용자가 변경할 수 있기 때문에 기기 시간에 의존 할 수 없습니다 + 이동 통신사를 사용할 수 없거나 NITZ을 지원하지 않습니다. 처음에는 신뢰할 수있는 서버에 http 호출을 사용하지만 네트워크를 사용할 수없는 상황이 있습니다.android는 사용자가 기기 시간을 수정 함을 감지합니다.

사용할 수있는 다른 옵션이 있습니까?

사용자가 기기 시계를 수정했음을 감지하기 위해 방송 ACTION_TIME_CHANGED에 의지 할 수 있습니까? 이 알림을 받으려면 내 앱이 항상 실행 중이어야합니까? (피하려고합니다)?

감사합니다.

답변

2

내 응용 프로그램은

는 모든 플랫폼에서, 정확한 시간에 대한 클라이언트에 의존하지 마십시오 정확한 시간을 필요로한다.

처음에는 신뢰할 수있는 서버로 http 호출을 사용하지만 네트워크를 사용할 수없는 상황이 있습니다.

그러면 정확한 시간을 정의 할 수 없습니다.

사용할 수있는 다른 옵션이 있습니까?

사용자가 시간을 설정할 수 없도록하는 자체 펌웨어를 만들 수 있습니다.

방송 ACTION_TIME_CHANGED을 (를) 사용하여 사용자가 기기 시계를 수정했음을 감지 할 수 있습니까?

아니요, 해당 방송이 전송 될 수있는 몇 가지 이유가있는 한 불가능합니다.

이 알림을 받으려면 내 앱이 항상 실행 중이어야합니까? (피하려고합니다)?

나는 안드로이드 소스 코드에서 볼 ACTION_TIME_CHANGED의 유일한 수신기 registerReceiver()하지 매니페스트를 통해 등록 사람이 있음을 알 수 있습니다. 이 방송은 보통 패턴 인 registerReceiver()이 필요한 곳에 적합하지 않습니다. 그것은 아마도 당신이 그것을 시도하는 것이 더 간단합니다.

관련 문제