如何通过检查日期在特定日期发送通知
How to send a notification on specific dates by checking the date
我有一个应用程序,我想在奇数天(例如每月的 1、3、5 天)发送通知。经过研究,我明白我需要一项服务。但是我不知道如何每天获取新日期,或者如何注意到日期发生变化的服务......就像一天的监听器发生了变化......我搜索了很多,只找到参考资料如何在特定日期安排通知,但这不是我需要的,因为我想每天验证日期。非常感谢您的帮助!
您可以在 Android 警报的帮助下完成此操作。
您需要执行的步骤:
在您需要显示通知的日期和时间启动警报。
订阅 Reboot Broadcast receiver 并再次设置相同的闹钟(因为您设置的闹钟将在设备重启后消失)
勾选闹钟后,您可以显示来自闹钟广播接收器的通知,然后设置新的闹钟。
安排警报:
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 天触发警报,那么这个值将是:24hrs in millisecond
回答您的评论。
要查找一个月中的第几天,您可以使用以下命令:
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
我有一个应用程序,我想在奇数天(例如每月的 1、3、5 天)发送通知。经过研究,我明白我需要一项服务。但是我不知道如何每天获取新日期,或者如何注意到日期发生变化的服务......就像一天的监听器发生了变化......我搜索了很多,只找到参考资料如何在特定日期安排通知,但这不是我需要的,因为我想每天验证日期。非常感谢您的帮助!
您可以在 Android 警报的帮助下完成此操作。
您需要执行的步骤:
在您需要显示通知的日期和时间启动警报。
订阅 Reboot Broadcast receiver 并再次设置相同的闹钟(因为您设置的闹钟将在设备重启后消失)
勾选闹钟后,您可以显示来自闹钟广播接收器的通知,然后设置新的闹钟。
安排警报:
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 天触发警报,那么这个值将是:24hrs in millisecond
回答您的评论。
要查找一个月中的第几天,您可以使用以下命令:
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);