2

我想在特定日期显示通知并使用 Calendar 对象:

    Calendar calendar = Calendar.getInstance();
    calendar.set(Year, Month, Day, Hours, Minutes, Seconds);
    long when = calendar.getTimeInMillis();

我使用一个AlarmManager:

        AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
    Intent i = new Intent(this, NotificationsService.class);
    PendingIntent pi = PendingIntent.getService(this, 0, i, 0);
    am.cancel(pi);
    am.set(AlarmManager.RTC_WAKEUP, when, pi);

但这不会显示正确的毫秒数,如果我使用:

am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 10000, pi);

显示正确的通知,但如果我使用when标志不显示正确的毫秒通知。为什么?请有人帮助我。谢谢

编辑:(解决问题)

问题是日历中的月份在实际之前(一月 = 0,二月 = 1,...)

4

1 回答 1

0

我建议在这里查看如何在特定日期/时间运行服务的示例:如何在每天中午和每次启动时运行服务

使用警报管理器必须记住的一件重要事情是,手机重启时会忘记所有值。Link 也为此提供了解决方案。

于 2013-06-04T12:54:08.457 回答