如何通过查看日期发送特定日期的通知

时间:2016-06-06 21:59:02

标签: android android-service android-notifications

我有一个应用程序,我想在奇数天发送通知(如1,3,5天)。经过研究,我明白我需要一项服务。但是我无法弄清楚如何每天获得新的约会,或者如何注意到当天发生变化的服务......当天的听众改变了......我搜索了很多,只找到了关于如何在特定日期安排通知的参考,但这不是我需要的,因为我想每天验证日期。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以在Android警报的帮助下完成此操作。

您需要执行的步骤:

  1. 启动警报,了解您需要显示通知的日期和时间。

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

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

  4. 安排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);