다음 링크 https://developer.android.com/training/scheduling/alarms.html을 추적했습니다.CalendarManager.getTimeInMillis()를 전달하여 AlarmManager를 사용하여 알림을 설정하면 의도 한 시간이 아닌 즉시 알림을 트리거합니다
RTC의 첫 번째 예는 모든 요일의 특정 시간에 알람을 설정하는 것입니다. 동일한 코드를 따른 후에도 트리거가 발생한다고 가정 할 때 알람이 발생하지 않습니다. 대신 notification
은 시간 선택기를 사용하여 시간을 설정 한 후 즉시 트리거됩니다. 내 코드입니다 다음, 대신 setRepeating
의
AlarmManager alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, NotificationReceiver.class);
PendingIntent intentalarm = PendingIntent.getBroadcast(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY,4);
calendar.set(Calendar.MINUTE, 30);
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, intentalarm);
는 또한 setInexactRepeating
을 시도하지만 행운을 빌어도 내가
calendar.getTimeInMillis()
를 변경할 때 추가 하시겠어요 있었다 알람 정확히 후 트리거 SystemClock.elapsedRealtime() + 120 * 1000
사용 설정 시간에서 2 분.
그러나 calendar.getTimeInMillis()
을 사용하는 경우 즉각적인 트리거링이 발생하지 않습니다.
누구나 솔루션을 찾을 수 있다면 큰 도움이 될 것입니다. 메모를 위해서만 알람이 현재 장치 시간보다 먼저 설정되어 있으면 알람이 즉시 트리거되지만 여기서는 그렇지 않다는 것을 알 수 있습니다.
NotificationReceiver.class
이 생성되어 제목에 나타납니다. 그러나 그것이 나타날 때가 걱정의 원인입니다.