내 안드로이드 응용 프로그램 (안드로이드는 중요하지 않습니다. 모든 클라이언트 응용 프로그램은 비슷합니다) 나는 정기적으로 서비스를 실행합니다. 일정 시간이 경과 (예 : 7 일)되고 사용자가 목표를 작성하지 않으면 알림을 보냅니다. 그러나 사용자가 휴대 전화의 시간을 미래의 날짜로 변경하면 (거짓 긍정을 나타냄) 알림을 전송합니다. 그러나 그것은 거짓입니다.클라이언트의 잘못된 날짜 변경 처리
long differenceMinutes =
Math.abs((System.currentTimeMillis()/1000L) - lastGoalTime)/60;
좋은 경로 :
- 사용자가 2014 년 6 월 15 목표를 만들어 나는 장치에이 날짜를 저장.
- 내 서비스가 새로운 목표를 확인합니다.
- 2014 년 6 월 22 일에 새로운 목표가 완료되지 않은 경우 알림을 전송합니다.
잘못된 경로 :
- 사용자가 2014 년 6 월 15 일에 목표를 설정하고이 날짜를 기기에 저장했습니다.
- 새로운 목표에 대한 나의 서비스 점검 - 2014년 6월 16일 사용자에 (22)에 대한 그의 현지 시간 6월 2014
을 변경합니다.
- 새 목표를 완료하지 않았습니다. 단 1 일만 지나도 응용 프로그램에서 알림을 보냅니다.
- 7 일이 완료 될 때까지 신청서를 보내지 않기를 바랍니다.
어떻게 이러한 상황을 겪을 수 있습니까?
시간 서버에 연결하여 현재 시간을 얻는 것을 선호하지 않습니다.
이러한 유형의 문제를 해결할 수있는 방법이 있습니까?
용어를 알지 못해 죄송합니다.
시스템을 신뢰할 수없는 경우 신뢰할 수있는 시스템을 사용해야합니다. 사용자가 소유 한 모든 하드웨어가 계산에 오류가 있으므로 밀리 초 단위로 계산할 수 없으며 신뢰할 수 있습니다. 따라서 시간 서버를 사용하여 오류를 수정하는 것입니다. –
일부 외부 리소스에 의존하지 않고 해결하는 것이 불가능할 수도 있습니다. – matiash