为什么我的AlarmManager会立即启动?

Joh*_* Au 3 time android calendar alarm alarmmanager

我正在尝试构建一个警报应用程序.我之前有闹钟工作,我可以设置不同的时间,闹钟会适当地响起.然后我将ChangeAlarmActivity的布局更改为TableLayout,现在它不起作用?我没碰到代码.以下是我设置闹钟的方法:

Intent alarmIntent = new Intent(ChangeAlarmActivity.this, AlarmReceiver.class);
PendingIntent pendingAlarmIntent = PendingIntent.getBroadcast(ChangeAlarmActivity.this, (int)alarm.getID(),
        alarmIntent, 0);

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
System.out.println("Alarm time: " + hour + ":" + min);
Calendar alarmCal = Calendar.getInstance();
//alarmCal.setTimeInMillis(System.currentTimeMillis());
alarmCal.set(Calendar.HOUR_OF_DAY, hour);  
alarmCal.set(Calendar.MINUTE, min);        
//alarmCal.set(Calendar.SECOND, 0);

alarmManager.set(AlarmManager.RTC_WAKEUP,
        alarmCal.getTimeInMillis(),
        pendingAlarmIntent);
Run Code Online (Sandbox Code Playgroud)

Com*_*are 17

可能是因为你的时间和分钟都在过去.

假设您在当前时区是16:07小时(使用24小时时间),并使用houras 3minas 执行此代码27.03:27过去了,因此警报立刻响起.

set()拨打两个电话后,查看时间是否早于现在,如果是,则查看add()一天.