带有重复警报管理器的 PutExtras

PutExtras with repeating alarmmanager

我想在用户定义的时间安排重复闹钟。为此,我正在使用以下代码

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
            Intent intent = new Intent(this, AlarmReceiver.class);
            intent.putExtra("id", id);
            intent.putExtra("ontime", flag_ontime);

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
                    intent, PendingIntent.FLAG_UPDATE_CURRENT);

am.setRepeating(AlarmManager.RTC_WAKEUP,
                        SystemClock.elapsedRealtime() +calendar.getTimeInMillis(),
                        AlarmManager.INTERVAL_DAY, pendingIntent);

一切正常...我的闹钟也会在所需时间触发,但在我的接收器中我总是只从未通过的意图中获得默认值

AlarmReceiver.class

long id = intent.getLongExtra("id", -1);
 boolean ontime = intent.getBooleanExtra("ontime", false);

这里id总是-1,ontime是false....请帮帮我

好吧,我现在已经通过使用 alarmmanager setExact() 方法解决了这个问题,并且在每次事件发生时,我都会根据其重复时间重新安排警报....寻找更好的解决方案