4

这是我的代码:

cal.set(Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH, hourOfDay, minute,Calendar.SECOND);

Intent intent=new Intent(FaceActivity.this,AlarmReceiver.class);
        PendingIntent pendingIntent=PendingIntent.getBroadcast(FaceActivity.this, 0, intent, 0);
        AlarmManager alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);

这里 hourOfDay 是当前时间的一小时后。分钟可能具有相同的值。

现在这里 cal.getTimeInMillis() 设置为比当前时间晚一小时的时间。但是当我运行这段代码时,广播接收器被立即调用。谁能告诉我,我做错了什么?提前致谢...

4

1 回答 1

2

终于找到了我的错误,我得到了错误的值Year, Month, Day, Second

通过使用下面的代码,它工作得非常好。

cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), hourOfDay, minute,cal.get(Calendar.SECOND));
于 2012-10-16T10:52:05.507 回答