Как установить повторный будильник для каждого месяца в первый и последний день месяца?

Я хочу реализовать будильник для каждого первого дня месяца и каждого последнего дня месяца. Как я могу это реализовать и как я могу передать это классу будильника?

Код

Calendar calNow = Calendar.getInstance();
            Calendar calSet = (Calendar) calNow.clone();

            calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);
            calSet.set(Calendar.MINUTE, minute);
            calSet.set(Calendar.SECOND, 0);
            calSet.set(Calendar.MILLISECOND, 0);

            if (calSet.compareTo(calNow) <= 0) {
                // Today Set time passed, count to tomorrow
                calSet.add(Calendar.DATE, 1);
            }

            setAlarm(calSet);


        }
    };

    private void setAlarm(Calendar targetCal) {
        System.out.println("alram class");



        Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(
                getBaseContext(), RQS_1, intent, 0);
        AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                targetCal.getTimeInMillis(), 60000, pendingIntent);
}

person user3114723    schedule 04.03.2014    source источник


Ответы (1)


Простой способ — создать двух слушателей и зарегистрировать их на начало и конец месяца. Начало и конец месяца можно установить в объекте Calendar с помощью метода set класса Calendar.

Как показано на этой странице

person Tech Agent    schedule 04.03.2014
comment
Спасибо, не могли бы вы предоставить какую-либо ссылку для выбранных дней недели. - person user3114723; 04.03.2014
comment
Вы найдете документацию на docs.oracle.com/javase. /7/docs/api/java/util/Calendar.html - person Tech Agent; 04.03.2014
comment
Требуется ли какая-либо база данных для сигнализации - person user3114723; 04.03.2014
comment
Нет, вам не нужна база данных для тревог - person Tech Agent; 05.03.2014