当前位置: 首页 > 面试题库 >

我该如何设置警报管理器在Android的每周的特定日期和时间触发?

楚宇
2023-03-14
问题内容

例如我想有一个警报,它将在每个星期天中午触发....我该怎么做?


问题答案:

使用AlarmManager类:

http://developer.android.com/reference/android/app/AlarmManager.html

类概述

此类提供对系统警报服务的访问。这些使您可以计划应用程序在将来的某个时间运行。警报响起时,系统会广播已为其注册的Intent,并在目标应用程序尚未运行时自动启动它。设备处于睡眠状态时会保留已注册的警报(如果警报在这段时间内关闭,可以选择将其唤醒),但是如果已关闭并重新启动,则警报将被清除。

使用public void set (int type, long triggerAtTime, PendingIntent operation)设定的触发它的时间。

使用void setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation)调度重复报警。

这是一个完整的例子。我真的不记得所有的Calendar方法,所以我确定可以简化该部分,但这只是一个开始,您可以稍后对其进行优化

AlarmManager alarm = (AlarmMAnager) Context.getSystemService(Context.ALARM_SERVICE);
Calendar timeOff = Calendar.getInstance();
int days = Calendar.SUNDAY + (7 - timeOff.get(Calendar.DAY_OF_WEEK)); // how many days until Sunday
timeOff.add(Calendar.DATE, days);
timeOff.set(Calendar.HOUR, 12);
timeOff.set(Calendar.MINUTE, 0);
timeOff.set(Calendar.SECOND, 0);

alarm.set(AlarmManager.RTC_WAKEUP, timeOff.getTimeInMillis(), yourOperation);


 类似资料:
  • 我正在制作一个应用程序,让用户选择几天,并在这些天的特定时间启动警报。 让我们以我的问题为例,我希望我的闹钟在每周五12:30触发,问题是它从来没有触发过闹钟,即使我在同一天,这是我的代码

  • 我正在开发一个应用程序,其中我需要用户安排一个事件。我使用TimePicker和DatePicker对话框来设置事件的时间,并使用带有BroadcastReceiver的AlarmManager来在时间到达时执行操作。在测试中,我得出的结论是,我的时间和日期选择器对话框工作良好,我能够选择一个日期和时间。然而,当到达时间时,BroadcastReceiver没有被AlarmManager触发。 下

  • 我正在使用日期选择器和选定的datePicker模式作为时间。当我加载日期选择器时,它显示的是当前时间。但我想设置默认时间总是5:00 PM。 我试过下面的方法,但对我不起作用。 请帮我把时间默认为下午5点。谢谢.

  • 我试图在应用程序启动10分钟后生成警报。根据我的要求,无论用户关闭应用程序、关闭并再次打开,或者甚至在重新启动后,此警报都应该工作。下面是我的代码。 主要活动。Java语言 我的服务。java—这是服务类。 警报eciever.java 如果我没有关掉手机或重新启动手机,我就可以准时收到闹钟。我准时收到闹钟。 然而,如果我关闭并打开手机,或者如果我重新启动手机,我会在手机打开/重新启动后立即收到警

  • 嗨,我目前正在使用警报管理器。我写了下面给出的代码。根据代码,警报管理器应该在10秒后触发,但在我的代码中,警报管理器会立即触发。请帮助。 还有我的警报接收课 我已经在清单中添加了所需的权限。