2012-11-22 2 views
0

주간 옵션이있는 작은 알람 프로젝트를 만들고 있습니다. (나는 경보 관리자를 사용하고있다).안드로이드에서 완료 시간 후에도 알람 트리거

알람은 주어진 시간과 요일에 완벽하게 트리거되지만 문제는 주어진 알람 시간으로 날짜 또는 시간을 변경하면 이전 알람을 트리거한다는 것입니다.

예 :

알람이 월요일 수요일 금요일 오전 5:00에 울리도록 설정된 경우. - 그리고 현재 시간은 일요일 오후 6시입니다.

월요일 오후 4 시부 터는 수요일 금요일 - 현재 시간은 일요일 오후 6시 30 분입니다.

테스트를 위해 나는 화요일 오후 6:00로 변경했다. 즉시 두 개의 알람이 월요일의 스케줄을 위해 하나씩 트리거된다.

이 특정 알람을 중지하고 다음 월요일에 오히려 즉시 트리거합니까? 날짜도 확인해야합니까 ???

알려주세요.

답변

0

당신은 정말로 할 수 없습니다. 알람 관리자는 시스템 시간의 모든 것을 기반으로합니다. 수동으로 시스템 시간을 변경하면 현재와 현재 설정 한 시간 사이에 모든 시간이 지나간 것처럼 행동하게됩니다.

편집 : 주식 경보 응용 프로그램의 소스 코드를 찾을 수 있습니다. 다음은 link to one of the relavent objects Alarms입니다.

나는 그것을 테스트하지 않았지만 이벤트가 시작될 시간을 저장하고 있음을 알 수 있고 갑자기 과거에 있다고 판단하면 알람을 무시하는 대신 알람을 무시합니다. 방아쇠. 체크 아웃 할 다른 relavent 클래스는 SetAlarm과 AlarmClock이며, 주식 앱의 알람을 설정하고 반응하는 방식을 따르고 싶다면 grepcode에서 검색하십시오.

그러나 여전히 시스템 시간을 수동으로 변경하면 경보를 조작하는 데 사용할 수 있음을 지적하는 것이 중요합니다. 예를 들어 내일 오후 10시에 알람을 설정 한 경우 수동으로 시간을 내일 오후 9시 59 분으로 이동하십시오. 1 분 후에 알람이 울립니다.

+0

을 설정할 필요없이보다 System.currentTimeMillis()

알람 시간이 현재 시간보다 작은 경우와 알람 시간을 비교하지만 같은 붙박이 알람 발생하지 않습니다. – TheDevMan

관련 문제