gpt4 book ai didi

java - android:闹钟在某个特定时间间隔之间停止

转载 作者:行者123 更新时间:2023-12-01 19:06:05 26 4
gpt4 key购买 nike

我将在我的应用程序中设置每日闹钟。

一切正常。但现在我想要的是:在特定的时间内,我的闹钟应该保持静音。

例如:如果我设置了闹钟应该每 30 分钟播放一次,并且如果我设置了闹钟应该在凌晨 1:00 到 2:00 之间保持静音,那么在该静音期间不应播放该闹钟。

我有这样的代码:

每隔 30 分钟,如果时间在凌晨 1:00 到 2:00 之间保持沉默,我的服务人员就会调用一次。

参见下面的代码:

Calendar currentTime = new GregorianCalendar();
currentTime.set(Calendar.HOUR, Calendar.HOUR);
currentTime.set(Calendar.MINUTE, Calendar.MINUTE);
currentTime.set(Calendar.SECOND, Calendar.SECOND);
currentTime.set(Calendar.DATE, Calendar.DATE);
currentTime.set(Calendar.MONTH, Calendar.MONTH);

Calendar start_time = new GregorianCalendar();
start_time.set(Calendar.HOUR, sHour);
start_time.set(Calendar.MINUTE, sMinute);
start_time.set(Calendar.SECOND, Calendar.SECOND);
start_time.set(Calendar.DATE, Calendar.DATE);
start_time.set(Calendar.MONTH, Calendar.MONTH);

Calendar end_time = new GregorianCalendar();
end_time.set(Calendar.HOUR, eHour);
end_time.set(Calendar.MINUTE, eMinute);
end_time.set(Calendar.SECOND, Calendar.SECOND);
end_time.set(Calendar.DATE, Calendar.DATE);
end_time.set(Calendar.MONTH, Calendar.MONTH);




if((!SILENCE) && (((!(start_time.getTimeInMillis() < currentTime.getTimeInMillis())) && (!(currentTime.getTimeInMillis() < end_time.getTimeInMillis()) )))){
// Alarm will play
}
else{
// you are in Silent mode
}

所以请给我解决方案,虽然我没有得到它的工作原理?使用此代码,我总是出现“您处于静默模式”

所以请帮助我。

谢谢。

最佳答案

你做错了

currentTime.set(Calendar.HOUR, Calendar.HOUR);

使用这句话,您可以将小时和分钟设置为整数值。例如,Calendar.HOUR 的常量值为 10,同样,所有常量都有不同的固定值,并且您将此值分配给日历,这可能会给您带来问题。

解决方案

如果您只想设置小时和分钟,请保留其他字段,以便它自动考虑您当前的数据时间。

Calendar currentTime = Calendar.getInstant();
currentTime.set(Calendar.HOUR, hours);
currentTime.set(Calendar.MINUTE, minuts);

因此,这会将日历中的小时和分钟设置为您提供的值,并将其他信息(如日、月、年等)设置为当前值。

编辑

如果您遇到获取当前时间(以毫秒为单位)的问题,请使用 System.currentTimeMillis();

为了获取以毫秒为单位的 future 时间,您必须在日历中设置适当的时间,然后您必须从日历中获取以毫秒为单位的时间,例如calendar.getTimeInMillis()

关于java - android:闹钟在某个特定时间间隔之间停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10071971/

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