带日历对象的AlarmManager Android java
你好,我想做一个简单的闹钟,但我坚持要做正确的闹钟。。。我不明白的是:带日历对象的AlarmManager Android java,java,android,Java,Android,你好,我想做一个简单的闹钟,但我坚持要做正确的闹钟。。。我不明白的是: 我们在日历中设置了以毫秒为单位的当前时间,因此如果我们获得了以毫秒为单位的时间,它将立即触发。设置以毫秒为单位的当前时间,然后分配小时和分钟的目的是什么 设定时间(单位:毫秒)设定从1970年到现在的毫秒数 calendar get time(以毫秒为单位)返回自我们设置的小时起的毫秒数?或我一点也不懂这些台词,为什么我们要把当前时间设为毫秒,然后再把点火时间设为小时 编辑-如果我将报警设置为在10:00及其10:05触
- 我们在日历中设置了以毫秒为单位的当前时间,因此如果我们获得了以毫秒为单位的时间,它将立即触发。设置以毫秒为单位的当前时间,然后分配小时和分钟的目的是什么
- 设定时间(单位:毫秒)设定从1970年到现在的毫秒数
- calendar get time(以毫秒为单位)返回自我们设置的小时起的毫秒数?或我一点也不懂这些台词,为什么我们要把当前时间设为毫秒,然后再把点火时间设为小时
- 编辑-如果我将报警设置为在10:00及其10:05触发,我该怎么办?它立即开火
getInstance()
应自动将时间设置为当前日期和时间-此处以毫秒为单位设置时间可能无关紧要)-目的是同时设置当前年/月/日。如果你只设定了小时和分钟,就不清楚哪一天会发生火灾
设定时间(单位:毫秒)设定从1970年开始的毫秒数
直到现在
UTC时区中自1970年1月1日以来的当前毫秒数
calendar get time(以毫秒为单位)返回自小时起的毫秒数
我们出发了?或我一点也不懂这些台词,我们为什么要设定
以毫秒为单位的当前时间,然后设置点火时间
在本例中,getTimeInMillis()将返回UTC时区中自1970年1月1日起到当天08:30的毫秒数
编辑-如果我将报警设置为10:00触发,10:05我应该做什么
做它立即开火
时间可能已经过去了。请记住时间是UTC!如果你在美国或亚洲,这可能与你对“现在”的理解大不相同
我们将当前时间以毫秒为单位设置到日历中,以便在
米利斯:它马上就要发射了。设置电流的目的是什么
以毫秒为单位的时间,然后指定小时和分钟
(编辑:严格来说不是真的。getInstance()
应自动将时间设置为当前日期和时间-此处以毫秒为单位设置时间可能无关紧要)-目的是同时设置当前年/月/日。如果你只设定了小时和分钟,就不清楚哪一天会发生火灾
设定时间(单位:毫秒)设定从1970年开始的毫秒数
直到现在
UTC时区中自1970年1月1日以来的当前毫秒数
calendar get time(以毫秒为单位)返回自小时起的毫秒数
我们出发了?或我一点也不懂这些台词,我们为什么要设定
以毫秒为单位的当前时间,然后设置点火时间
在本例中,getTimeInMillis()将返回UTC时区中自1970年1月1日起到当天08:30的毫秒数
编辑-如果我将报警设置为10:00触发,10:05我应该做什么
做它立即开火
时间可能已经过去了。请记住时间是UTC!如果你在美国或亚洲,这可能与你对“现在”的理解有很大不同。但是,自1970年以来,参数中的set repeating的数量为ms,这可以吗?是正确的吗?它包含ms的弹药量,直到此时,所以它会立即开火,它不应该包含弹药量直到现在+弹药量直到计划的警报开火吗?
setRepeating
。您应该阅读文档。第一个long(长)表示警报首次触发的时间。第二个long表示之后它将重复报警的频率。因此,基本上,我需要使用此函数获取传入拾取日的mili,然后我需要将mili设置为setRepeating,但是如何从我粘贴在此注释中的链接中的函数输出中获取mili您可以使用该函数提供的日历:nextDayOfWeek(日历,周三)
。您可以使用nextDayOfWeek(calendar.星期三)。getTimeInMills()
和basicali来代替这个calendar.getTimeInMills()
,在这种情况下,我必须查找一周中即将到来的一天?仅当currentdayofweek>所需的星期几时?或者它们是相同的,但用户想要触发警报的时间已经过去了?还有其他限制吗?但是,自1970年以来,set repeating在其参数中的数量为ms,可以吗?是正确的吗?它包含ms的弹药量,直到此时,所以它会立即开火,它不应该包含弹药量直到现在+弹药量直到计划的警报开火吗?setRepeating
。您应该阅读文档。第一个long(长)表示警报首次触发的时间。第二个long表示之后它将重复报警的频率。因此,基本上,我需要使用此函数获取传入拾取日的mili,然后我需要将mili设置为setRepeating,但是如何从我粘贴在此注释中的链接中的函数输出中获取mili您可以使用该函数提供的日历:nextDayOfWeek(日历,周三)
。您可以使用nextDayOfWeek(calendar.星期三)。getTimeInMills()
和basicali来代替这个calendar.getTimeInMills()
,在这种情况下,我必须查找一周中即将到来的一天?仅当currentdayofweek>所需的星期几时?或者它们是相同的,但用户想要触发警报的时间已经过去了?还有其他限制吗?
// Set the alarm to start at 8:30 a.m.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 30);
// setRepeating() lets you specify a precise custom interval--in this case,
// 20 minutes.
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
1000 * 60 * 20, alarmIntent);