Skip to content Skip to sidebar Skip to footer

Alarm Manager Is Triggered Immediately In Android

Strangely, my Alarm Manger is calling the pending intent immediately, even though I have put a condition if the current time is greater than alarm time run one day later. I have al

Solution 1:

Try to use this way and let me know if you face any issues

    Date dat = new Date();// initializes to now
    Calendar cal_alarm = Calendar.getInstance();
    Calendar cal_now = Calendar.getInstance();
    cal_now.setTime(dat);

        Toast.makeText(mContext, "" + cal_now.getTime(), Toast.LENGTH_LONG)
                .show();
        ;
        cal_alarm.setTime(dat);
        cal_alarm.set(Calendar.HOUR_OF_DAY, 13);// set the alarm time
        cal_alarm.set(Calendar.MINUTE, 10);
        cal_alarm.set(Calendar.SECOND, 10);
        if (cal_alarm.before(cal_now)) {// if its in the past increment
            cal_alarm.add(Calendar.DATE, 1);
        }

Solution 2:

I suggest checking if the alarm manager is null then canceling the alarm before setting the alarm this took me some time example

if(alarmManger != null){
    alarmManger.cancel(operation);
    alarmManger.setRepeating(alarmType,alarmtime,‌​AlarmManager.INTERVAL_DAY, operation);
}

Post a Comment for "Alarm Manager Is Triggered Immediately In Android"