我有一个应用程序,需要在其中使用我的数据设置一些本地通知。我可以使用AlarmManager,PendingIntent和BroadcastReciever来获取硬编码时间值的本地通知。
现在我的问题是,我需要设置从开始日期到结束日期的本地通知/提醒,每天可以进行1-4次(即频率可以是1-4次,每次4次)。
说
Start Date : June 3 2019
END Date : June 30 2019
Frequency : 2 times a day at 9:00 AM(Time1) and 6.00PM(Time2)
从6月3日开始,我应该每天在9:00 AM和6.00 PM收到本地通知,直到6月30日为止。
已更新,我尝试通过设置不同的操作来创建多个提醒,这些操作由David建议,但是它不起作用。我可能缺少了一些内容。谁能告诉我如何在一周的特定日期设置提醒?
答案 0 :(得分:1)
您可以设置任意数量的警报。这里的技巧是确保AlarmManager
将它们视为“唯一”。要使它们“唯一”,可以使用以下方法之一:
requestCode
的调用中使用其他(唯一)PendingIntent.getBroadcast()
参数Intent
的{{1}}中使用不同的(唯一的)ACTION或DATA 无法将闹铃设置为每天重复一定天数。但是,您可以将警报设置为每天重复一次,并在触发警报时,检查PendingIntent.getBroadcast()
是否是上次触发警报,如果是,请取消警报,以使其不再触发在将来。为此,您需要记住“过期”的日期,您可以通过将信息存储在数据库或BroadcastReceiver
中,或通过将这些信息作为“额外”添加到{{ 1}}传递给SharedPreferences
。
注意::Android有许多有关安排警报以尝试优化电池寿命的规则。如果您的闹钟不需要在确切的时间触发,Android会将时间表修改为更合适的时间。有多种方法可以使警报在精确时间触发,但是您不能可靠地设置重复的精确时间警报。如果需要准确的时间,请安排一次警报,并在触发时安排下一个警报。了解Intent
的工作方式以及如何最好地在https://developer.android.com/training/scheduling/alarms上安排闹钟