2011-12-04 3 views

답변

2

AlarmManager 가벼운 절약 일을 처리 할 것입니다. 일광 절약 시간 정보를 고려하여 매일 시작될 때 시간대 정보를 재설정합니다.

+0

그래서 매일 알람을 다시 예약 할 필요가 없습니까? (원래 질문에서 편집하십시오.) – Leo

+1

AlarmManager가 매일 조명 절약을 고려하여 매일 시작될 때 다시 계산하므로 제대로 작동합니다. – havexz

+0

위대한 - 감사합니다! – Leo

4

내가받은 답변에서 내 앱에서 다른 행동을 보인 것과는 대조적으로 자정 이후 몇 분 간격으로 매일 업무가 진행됩니다.

일광 절약 시간제 변경 후 작업이 오후 11시 이후에 몇 분 동안 실행되기 시작하여 작업이 잘못된 결과를 반환하게됩니다. 작업은 현재 날짜를 확인하고 이에 따라 항목을 쿼리합니다.

내 대답은 - 네, 명시 적으로 관리해야합니다.

EDIT : 우리 작업은 지정된 시간에 하루에 한 번 실행해야했습니다. 이 문제를 해결하기 위해 앱이 마지막으로 실행 된 시간을 저장하고 작업이 다시 실행될 때마다 타임 스탬프를 확인합니다. 타임 스탬프가 24 시간 (DST 변경으로 인해 23 시간 또는 25 시간이 될 수 있음)이 아닌 경우 AlarmManager을 중단하고 대신 새 일정을 예약합니다. 그래서 우리는 1 년에 2 회까지 "놓친"운전을합니다 (우리는 그와 함께 살 수 있습니다).

+0

일광 절약 시간제 변경으로 인해 내 앱이 실패했습니다. 그것을 관리하는 방법? –

+0

우리가 어떻게 해결했는지 편집하십시오. – marmor

+0

감사합니다 marmor! 나는 마침내 하나의 화재가 발생할 때마다 다음 알람을 프로그래밍함으로써이를 해결했으며 현재는 잘 작동한다. :) –

관련 문제