首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >告警时间前告警

告警时间前告警
EN

Stack Overflow用户
提问于 2013-09-25 19:29:30
回答 2查看 744关注 0票数 0

请帮帮我,我正在创建一个闹钟项目,我有一个问题。

这就是我需要在当前时间之前设置一个闹钟的问题,例如,如果现在是下午1:00,我设置为上午10:00,所以基本上离闹钟时间还有18小时59分钟,问题是一旦您设置了一个闹钟,比如下午1:00的上午10:00,它就会在您单击确定后立即闹铃。

代码语言:javascript
复制
                    if (setHour < c.get(Calendar.HOUR_OF_DAY)
                            || setHour == c.get(Calendar.HOUR_OF_DAY)
                            && setMinute < c.get(Calendar.MINUTE)) {

                        c.set(Calendar.HOUR_OF_DAY, setHour);
                        c.set(Calendar.MINUTE, setMinute);
                        c.set(Calendar.SECOND, 0);
                        client.setAlarmNotification(c, requestCode);

                    } 

与setMinute一样,setHour也来自timepicker。请求代码是唯一的,因为它来自数据库(PrimaryKey)的id,所以没有问题,当你在当前时间之后而不是在当前时间之前报警时,它都可以工作。伙计们,请帮我处理这几天的事情。提前谢谢你

-raphaelle

EN

回答 2

Stack Overflow用户

发布于 2013-09-25 19:38:49

据我所知,您只需设置第二天的闹钟即可。

代码语言:javascript
复制
Calendar c = Calendar.getInstance();
if (setHour < c.get(Calendar.HOUR_OF_DAY)
|| setHour == c.get(Calendar.HOUR_OF_DAY)
&& setMinute < c.get(Calendar.MINUTE)) 
{
     c.set(Calendar.HOUR_OF_DAY, setHour);
     c.set(Calendar.MINUTE, setMinute);
     c.set(Calendar.SECOND, 0);
     long time = c.getTimeInMillis();
     time = time + 1000*60*60*24; // Add 24h to the date
     c.setTimeInMillis(time);
     client.setAlarmNotification(c, requestCode);
} 
票数 0
EN

Stack Overflow用户

发布于 2013-09-25 19:52:14

将日历设置为要使用的时间和日期,而不是仅设置时间。

代码语言:javascript
复制
    Calendar c= Calendar.getInstance();
    c.set(year,month,day,hour,minute);
    client.setAlarmNotification(c, requestCode);

注意:月份是0到11,而不是1到12

如果你只想明天触发闹钟,那么在日历中添加一天,如下所示:

代码语言:javascript
复制
  c.add(Calendar.DATE,1); // Add one day to the calendar

那么你只需要设置时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19003686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档