如何在每月的第一天和最后一天为每个月设置重复闹钟?

时间:2014-03-04 04:50:39

标签: android android-alarms

我希望每个月的第一天和每个月实施警报。我该如何实现它以及如何将其传递给警报类?

代码

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);
}

1 个答案:

答案 0 :(得分:0)

简单的方法是创建两个侦听器并将其注册为月份和月末的开始。可以使用Calendar类的set方法在Calendar对象上设置月份的开始和结束。

this page

所示