Android中的Calendar.Month

时间:2015-10-29 00:54:30

标签: android alarmmanager android-calendar

我尝试设置闹钟以每12个月触发一次服务。

所以我尝试了以下内容:

Calendar calendar = Calendar.getInstance();
calendar.set(calendar.MONTH, calendar.get(Calendar.MONTH) + 12);
Log.e("calendar", "= " + Calendar.MONTH + " " + calendar.get(Calendar.MONTH) + 10);

long sdl = calendar.getTimeInMillis();
Intent myIntent = new Intent(mContext,
AlarmAlertBroadcastReciever.class);

PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);

AlarmManager alarmManager = (AlarmManager) mContext
                .getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, sdl, pendingIntent);

上述情况并非每12个月触发一次,我每10个月就会尝试一次?怎么样?

1 个答案:

答案 0 :(得分:1)

如果您希望每12个月触发一次,则将一年添加到Calendar实例。像这样的东西 -

calendar.add(calendar.YEAR, 1);

另外,如果你真的想坚持增加几个月这就是解决方案 -

calendar.add(calendar.MONTH, 12);

注意 - 我使用add()而不是set()

希望它有所帮助。