I am having trouble with setting a specific date to AlarmClock() rather than AlarmManager(). All the example I am having over internet shows to start an activity at a specific date using AlarmManager(). but my app dosent have / need a custom activity. I only need to register a system alarm on a specific day where it will ring like generic android system alarm.
Calendar c = Calendar.getInstance();
Intent alarmIntent = new Intent(AlarmClock.ACTION_SET_ALARM);
alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
alarmIntent.putExtra(AlarmClock.EXTRA_MESSAGE, "Polo!");
alarmIntent.putExtra(AlarmClock.EXTRA_HOUR, c.get(Calendar.HOUR_OF_DAY));
alarmIntent.putExtra(AlarmClock.EXTRA_MINUTES, c.get(Calendar.MINUTE) + 1);
context.startActivity(alarmIntent);
above is my code. I tried to use
alarmIntent.putExtra(AlarmClock.EXTRA_DAYS, c.get(Calendar.DAY_OF_MONTH));
but it only takes the current day.
Please help me setting alarm using the AlarmClock() on a specific day.
From documentation:
EXTRA_DAYS (optional): Weekdays for repeating alarm.
So actually, AlarmClock.EXTRA_DAYS is for days in week when this alarm should ring, so you can't set exact date for the alarm. Example usage:
ArrayList<Integer> days = new ArrayList<Integer>();
days.add(Calendar.SATURDAY);
alarmIntent.putExtra(AlarmClock.EXTRA_DAYS, days);