我正在尝试在特定的日期和时间设置通知。

通知仅在我将小时和分钟设置为日历值而不是日期时才起作用。
这是我的代码示例

    Calendar cal1 = Calendar.getInstance();

    cal1.set(Calendar.YEAR, 2019);
    cal1.set(Calendar.MONTH, 10);
    cal1.set(Calendar.DAY_OF_MONTH, 24);

    cal1.set(Calendar.HOUR_OF_DAY, 10);
    cal1.set(Calendar.MINUTE, 30);
    cal1.set(Calendar.SECOND, 0);
    long time = cal1.getTimeInMillis();

    AlarmManager alarmManager =(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);

    Intent notificationIntent = new Intent(context, AlarmReceiver.class);
    notificationIntent.putExtra(AddReminder.REMINDER_ID, Integer.toString(ID));
    PendingIntent broadcast = PendingIntent.getBroadcast(context, 100, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);


    alarmManager.setExact(AlarmManager.RTC_WAKEUP, time, broadcast);


我究竟做错了什么?

最佳答案

Java日历月份从0开始,因此如果您希望10月成为月份,则它将是9 note 10

cal1.set(Calendar.MONTH, 9);

关于java - 设置日期时,警报管理器不会触发通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58546982/

10-08 20:57