我有一个应用程序,我想在奇数天发送通知(如1,3,5天)。经过研究,我明白我需要一项服务。但是我无法弄清楚如何每天获得新的约会,或者如何注意到当天发生变化的服务......当天的听众改变了......我搜索了很多,只找到了关于如何在特定日期安排通知的参考,但这不是我需要的,因为我想每天验证日期。非常感谢您的帮助!
答案 0 :(得分:1)
您可以在Android警报的帮助下完成此操作。
您需要执行的步骤:
启动警报,了解您需要显示通知的日期和时间。
订阅重新启动广播接收器并再次设置相同的警报(因为一旦设备重新启动,您设置的警报将消失)
勾选警报后,您可以显示来自警报广播接收器的通知,然后设置新警报。
安排ALarm:
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);