繁体   English   中英

如何通过检查日期在特定日期发送通知

[英]How to send a notification on specific dates by checking the date

我有一个应用程序,希望在奇数天(例如一个月的1,3,5天)发送通知。 经过研究,我了解到我需要服务。 但是我无法弄清楚每天如何获取新日期,或者如何注意到当天的服务已发生变化……那天中的侦听器发生了变化……我进行了很多搜索,仅在如何在特定日期安排通知,但这不是我所需要的,因为我想每天验证日期。 非常感谢您的帮助!

您可以借助Android闹钟来做到这一点。

您需要执行的步骤:

  1. 对需要显示通知的日期和时间启动警报。

  2. 订阅Reboot Broadcast接收器并再次设置相同的警报(因为一旦重新启动设备,您设置的警报将消失)

  3. 选中警报后,您可以显示来自“警报广播”接收器的通知,然后设置新警报。

计划警报:

AlarmManager mgr=
    (AlarmManager)ctxt.getSystemService(Context.ALARM_SERVICE);
Intent i=new Intent(ctxt, ScheduledService.class);
PendingIntent pi=PendingIntent.getService(ctxt, 0, i, 0);

mgr.setRepeating(AlarmManager.ELAPSED_REALTIME,
                 SystemClock.elapsedRealtime() + DIFF_PERIOD, PERIOD, pi);

PERIOD:48小时(毫秒)

DIFF_PERIOD:到您最近的刻度的时间。 也就是说,如果您在第2天,并且需要在第3天触发警报,那么此值将为:24小时(以毫秒为单位)

回答您的评论。

要查找一个月中的某天,您可以使用以下方法:

Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM