Как задать AlarmManager на определенное число каждого месяца?
Допустим нужно вызывать уведомление каждое 5 число месяца (5 апреля, 5 мая, 5 июня и так далее), фиксированный интервал не подходит, потому что число дней в месяцах различается. Понятно что есть вариант - вызывать какой-то метод каждый день и проверять на соответствие заданной дате. Но как-то некрасиво дергать телефон каждый день и выводить его из спячки чтобы сработать 1 раз в месяц. Не могу придумать красивого решения.
AlarmManager alarmManager = (AlarmManager) cc.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC, dateTime+dateoffset, intervalInMillis, pintent);
Источник: Stack Overflow на русском