0

我正在尝试在每个月的第一个星期一创建警报。这是我的代码:

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

今天是6月12日。此代码创建一个距离 1382399999 毫秒或 15.9 天的警报触发器。那只会带我到27号结束。我曾考虑过用 Joda 来做这件事,但是 Android 上的 Joda 库存在问题。它真的很慢。谁能告诉我如何使用原生 Android 库来做到这一点?谢谢您的帮助。

4

0 回答 0