2016-07-12 2 views
-1

이 질문에 여러 번 묻고 많은 답변을 얻었습니다. 나는 많은 게시물을 확인하고 모든 것을 시도했지만 어떻게 지금은 여전히 ​​문제가 발생했는지 알았습니다. 내가 RTC_WAKEUP를 사용Alarm Manager가 즉시 발포합니다.

cal = Calendar.getInstance(); 
    cal.setTime(CalendarUtils.getDateFromString(objScheduleDO.ScheduleStartTime, CalendarUtils.TIME_FORMAT)); 
    LogUtils.debug("Time",cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE)); 
    am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis() , pi); 

은 즉시 화재와 내가 ELAPSED_REALTIME_WAKEUP를 사용하는 경우가 전혀 발생하지 않습니다

내 코드는 같다.

그리고 시작 시간이 결코 현재 시간이 아니며 항상 미래 시간이라고 확신합니다.

TIME_FORMAT은 "hh : mm aa"입니다. 그리고 시간이 정확한지 다시 확인했지만, 디버그를 통해 cal.getTimeInMillis()를 얻으려고 할 때 Android Studio 디버그 모드가 긴 값을 제공 할 수 있는지 여부가 확실하지 않은 대신 정수 값을 받았습니다.

도와주세요 .. AlarmManager set method 당으로

답변

2

,

명시된 트리거 시간이 지난 경우는 알람이 즉시 발생됩니다.

날짜가 과거가 아닌지 확인하십시오.

관련 문제