gpt4 book ai didi

java - 闹钟android中的贪睡功能

转载 作者:行者123 更新时间:2023-11-29 05:40:15 24 4
gpt4 key购买 nike

我已经创建了多个闹钟应用程序。此警报按时触发,一切正常。在保存闹钟时我有添加、每周、每天和一次功能,用户将能够相应地设置闹钟。

报警触发。我有小睡和取消。

再睡:我从当前时间开始再睡 10 分钟cancel: Just finish() - 这样它就可以在第二天或下周触发(相应地)

当点击贪睡按钮时,我设置的所有闹钟都会被取消,只有一个会在 10 分钟后触发。这有什么奇怪的吗?不确定问题出在哪里?

这是我在 Snoozeactivity(从广播接收器调用)中尝试的方法

SnoozeActivity的OnCreate:

我正在获取小时、分钟、上午/下午并向其添加 10 分钟并设置闹钟。

if (ampm.equalsIgnoreCase("AM"))
{
ampm = "0";
}
else if (ampm.equalsIgnoreCase("PM"))
{
ampm = "1";
}
Calendar alarmCalendar = Calendar.getInstance();
alarmCalendar.set(Calendar.HOUR, Integer.valueOf(hours));
alarmCalendar.set(Calendar.MINUTE, Integer.valueOf(mins));
alarmCalendar.set(Calendar.SECOND, 0);
alarmCalendar.set(Calendar.AM_PM, Integer.valueOf(ampm));

currenttime = alarmCalendar.getTimeInMillis() + 600000;

AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);

Intent intent = new Intent(SnoozeActivity.this, AlarmReciever.class);
intent.putExtra("keyValue", key);
PendingIntent pi = PendingIntent.getBroadcast(AlarmSnooze.this, 0, intent, 0);
am.set(AlarmManager.RTC_WAKEUP, currenttime, pi);
finish();

是不是因为PendingIntent(Flag?)

最佳答案

我的猜测是您对常规闹钟使用了相同的 ID。在这一行...

PendingIntent pi = PendingIntent.getBroadcast(AlarmSnooze.this, 0, intent, 0);

...第一个粗体“0”是报警ID。如果您使用“0”作为其他闹钟 ID,则您的贪睡代码将覆盖之前的闹钟。将贪睡闹钟的“0”更改为“1”(或任何其他未使用的值),您应该没问题!

关于java - 闹钟android中的贪睡功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17893098/

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