请帮帮我,我正在创建一个闹钟项目,我有一个问题。
这就是我需要在当前时间之前设置一个闹钟的问题,例如,如果现在是下午1:00,我设置为上午10:00,所以基本上离闹钟时间还有18小时59分钟,问题是一旦您设置了一个闹钟,比如下午1:00的上午10:00,它就会在您单击确定后立即闹铃。
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
发布于 2013-09-25 19:38:49
据我所知,您只需设置第二天的闹钟即可。
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);
} 发布于 2013-09-25 19:52:14
将日历设置为要使用的时间和日期,而不是仅设置时间。
Calendar c= Calendar.getInstance();
c.set(year,month,day,hour,minute);
client.setAlarmNotification(c, requestCode);注意:月份是0到11,而不是1到12
如果你只想明天触发闹钟,那么在日历中添加一天,如下所示:
c.add(Calendar.DATE,1); // Add one day to the calendar那么你只需要设置时间。
https://stackoverflow.com/questions/19003686
复制相似问题