无法在警报管理器中设置日历日期

Posted

技术标签:

【中文标题】无法在警报管理器中设置日历日期【英文标题】:Failed to set date for calendar in alarm manager 【发布时间】:2022-01-21 08:02:19 【问题描述】:

我正在使用 android Studio 和 Java 语言来设置警报管理器。如果我不设置日期,功能是正确的,但如果我设置了日期,则不会播放警报或执行错误。 这是我的代码:

intent = new Intent(this, BootBroadcastReceiver.class); pendingIntent = PendingIntent.getBroadcast( this.getApplicationContext(), 280192, 意图, PendingIntent.FLAG_CANCEL_CURRENT);

    Calendar calendar2 = Calendar.getInstance();

    Calendar calendar = (Calendar) calendar2.clone();
     calendar.setTimeInMillis(System.currentTimeMillis());
    

    calendar.set(Calendar.YEAR, 1400);
    calendar.set(Calendar.MONTH, 9);
    calendar.set(Calendar.DAY_OF_MONTH,27);
    calendar.set(Calendar.HOUR_OF_DAY, 12);
    calendar.set(Calendar.MINUTE, 9);
    calendar.set(Calendar.SECOND,0);

    alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
   alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTime().getTime(), pendingIntent);

请朋友帮忙

【问题讨论】:

我忘了,我的历史是基于我的国家,伊朗 【参考方案1】:

试试:

intent = ...
pendingIntent = ...

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.YEAR, 2021);
calendar.set(Calendar.MONTH, 12);
calendar.set(Calendar.DAY_OF_MONTH, 19);
calendar.set(Calendar.HOUR_OF_DAY, 12);
calendar.set(Calendar.MINUTE, 10);
calendar.set(Calendar.SECOND, 0);

alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

【讨论】:

感谢您的帮助,但我也添加了这些代码,但仍然无法正常工作!

以上是关于无法在警报管理器中设置日历日期的主要内容,如果未能解决你的问题,请参考以下文章

在 android Firebase 中设置警报

在本地通知中设置repeatInterval

在特定时间间隔重复警报

如何在 Flutter 中设置闹钟?

如何在 iOS 中设置闹钟?

如何在资源管理器的文本区域中设置占位符的样式?