2014-01-22 2 views
1

내가 브로드 캐스트 리시버 & 알람 관리기를 통해 시간 제한 통지를 만든 다릅니다안드로이드 알림 및 알람 관리기 타이밍

나는 알람이 나던 매 24 초 시작하는 것이 인식
static public void setReminderNotification(Context c){ 
    AlarmManager alarmManager = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE); 

    Intent alarmIntent = new Intent(c, ReminderReceiver.class); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(c, 12460, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

    iTime = 24000; 
    if (iTime > 0) { 
     alarmManager.cancel(pendingIntent); 
     alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + iTime, iTime, pendingIntent); 
    }else if(iTime == 0){ 
     alarmManager.cancel(pendingIntent); 
    } 
} 

. 그것은 달려있다. 나는 통지가 더 이상/때로는 짧은 이유를 궁금해

Post Nofification: 10 - 47 - 0 
Post Nofification: 10 - 47 - 13 
Post Nofification: 10 - 47 - 37 
Post Nofification: 10 - 48 - 1 
Post Nofification: 10 - 48 - 25 
Post Nofification: 10 - 49 - 0 
Post Nofification: 10 - 49 - 13 
Post Nofification: 10 - 49 - 37 
Post Nofification: 10 - 50 - 1 
Post Nofification: 10 - 50 - 25 
Post Nofification: 10 - 51 - 0 
Post Nofification: 10 - 51 - 13 
Post Nofification: 10 - 51 - 37 
Post Nofification: 10 - 52 - 1 
Post Nofification: 10 - 52 - 42 
Post Nofification: 10 - 53 - 0 
Post Nofification: 10 - 53 - 13 

: (들 - - m H 형식 :) 내가 수신기에 기록했다. 이 문제를 해결하는 방법에 대한 아이디어가 있으십니까?

+0

당신은 당신이 알람 서비스를 시작할 수있는 코드를 게시 할 수 있습니다 – suresh

답변

2

주를 가지고 : API를 시작으로 19 일 (KITKAT) 경보 전달이 부정확하다 : OS가 깨우는 및 배터리 사용을 최소화하기 위해 경보를 이동합니다. 엄격한 전달 보증이 필요한 애플리케이션을 지원하는 새로운 API가 있습니다. setWindow (int, long, long, PendingIntent) 및 setExact (int, long, PendingIntent)를 참조하십시오. targetSdkVersion이 API 19 이전 인 응용 프로그램은 계속 요청하면 모든 경보가 전달되는 이전 동작을 계속 볼 수 있습니다.

여기를 참조하십시오 http://developer.android.com/reference/android/app/AlarmManager.html

1

AlarmManager는 정확한 이해가되지 않습니다. 새로운 API level 19 of AlarmManager에서
당신이

public void setExact (int type, long triggerAtMillis, PendingIntent operation) 
관련 문제