我想在每个月的第一个星期一创建一个闹钟。这是我的代码:
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, FilterOrderBroadcastReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.WEEK_OF_MONTH, 1);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
if(Calendar.getInstance().getTimeInMillis() - calendar.getTimeInMillis() > 0 ) {
calendar.add(Calendar.MONTH, 1);
}
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis() - calendar.getTimeInMillis(), pi);
今天是六月十二日。此代码创建一个1382399999毫秒或15.9天的警报触发器。这只会让我到27日结束。我曾考虑过与Joda合作,但是Joda库与Android存在问题。这真的很慢。谁能告诉我如何使用原生Android库做到这一点?谢谢您的帮助。