gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:06 25 4
gpt4 key购买 nike

我正在尝试构建一个警报应用程序。我之前让闹钟工作,我可以设置不同的时间,闹钟会适本地响起。然后我将 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);

最佳答案

可能是因为您的小时和分钟已经过去了。

假设现在是您当前时区的 16:07(使用 24 小时制),您执行此代码时 hour3min27。 03:27 是过去,因此警报会立即触发。

在调用了两次 set() 之后,看看时间是否比现在早,如果是,再 add() 一天。

关于android - 为什么我的 AlarmManager 会立即启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16201148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com