当前位置: 首页 > 知识库问答 >
问题:

从DatePicker和TimePicker设置AlarmManager

禄豪
2023-03-14
Calendar cal=Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth());
cal.set(Calendar.MONTH, datePicker.getMonth());
cal.set(Calendar.YEAR, datePicker.getYear());
cal.set(Calendar.HOUR, timePicker.getCurrentHour());
cal.set(Calendar.MINUTE, timePicker.getCurrentMinute());        
long millis=cal.getTimeInMillis();

Intent intent=new Intent(CalendarView.this,AvisoReceiver.class);
PendingIntent mAlarmSender=PendingIntent.getBroadcast(CalendarView.this,23454546, intent,0);
AlarmManager alm=(AlarmManager)getSystemService(ALARM_SERVICE);
alm.set(AlarmManager.RTC_WAKEUP, millis,mAlarmSender);      

如果我设置我的闹钟3秒后,接收器被呼叫,我得到我的通知。

共有1个答案

宋建本
2023-03-14

重写

所以当我在凌晨2点编程时,我并不总是处于我的游戏的顶端。这里有两个修改添加到您的代码中以获得您所期望的行为(24/7):

cal.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
cal.set(Calendar.SECOND, 0);

使用hour_of_day读取24小时时间,使用second将秒设置为:00。hour只读取12小时的时间,这就是为什么它在凌晨2点工作,而不是在下午7点工作,为什么它的时间是43000秒(12小时)。如果不设置second日历对象,它将携带当前的分钟秒,从而产生意外的延迟。

cal.set(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), mAlarmSender);      
 类似资料:
  • 我有两个日期选择器“一个范围”,第一个选择器是“pre_from”日期,第二个是“pre_to”日期。但是,我想在这里做的是将“pre_to”选择器minDate发送到=“pre_from”selectedate。此外,我还想将“pre_to”选择器设置为“pre_from”所选月份的最后一天。 我已经向“pre_from”datepicker的“onclose”函数添加了一段代码,该代码应该设置

  • 问题内容: 我只是想从我在网上找到的许多android datepicker教程之一创建的datepicker对话框中获取日期。一旦选择了文本日期,我似乎在实际检索文本日期的某处出错。我有一个DatePickerFragment类,该类从嵌套在MainActivity活动类内的CreateEvent片段调用。这是DatePicker: 我知道实际尝试设置日期的时间,据我了解,这意味着它实际上无法在

  • 我有一个日期选择器输入和一个时间选择器输入,我想用它来安排一个人的约会。 当用户单击输入打开datepicker菜单时,我想灰显特定的日期时间。我有一个php函数,它以“Y-m-d H:I:s”字符串格式返回这个datetimes数组。但我不知道如何使用该函数的返回值为javascript函数提供禁用datepicker中的一系列日期所需的内容。 在日期选择器的onSelect事件中,我希望它根据

  • 问题内容: 我正在使用内部使用bootstrap- datepicker的bootstrap- datepaginator 。Utilizzanto bootstrap-datepicker作为一个单独的组件,设置语言没有问题,但是使用bootstrap-datepaginator并非如此。我能怎么做? 我正在尝试将意大利语设置为整个项目的默认语言。在我把下面的脚本: 但是在控制台中,我得到以下错

  • This is a fairly simple jQuery plugin that replaces a single text input with a set of pulldown menus to select hour, minute, and am/pm. Minute selections are for quarter hours (:00, :15, :30, :45). If

  • 是否可以更改默认html5日期选择器的日历弹出窗口的样式? 我想将当月的导航按钮移动到日历下方,并更改字体样式、大小、颜色等。我知道您可以从stackoverflow线程更改输入框(HTML5日期选择器是否有任何样式选项?),但我想更改日历本身的样式。有没有简单的方法可以做到这一点?