Android 挂起意图/警报第二次不工作

Android 挂起意图/警报第二次不工作,android,alarmmanager,android-pendingintent,Android,Alarmmanager,Android Pendingintent,我的代码是这样的,点击按钮我就执行 Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()+(1000*5)); Intent intent = new Intent(LogoFrontScreen.this,Doubletest.class); Pending

我的代码是这样的,点击按钮我就执行

  Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(System.currentTimeMillis()+(1000*5));

                Intent intent = new Intent(LogoFrontScreen.this,Doubletest.class);
                PendingIntent alarmIntent =    PendingIntent.getBroadcast(LogoFrontScreen.this,2,intent,PendingIntent.FLAG_UPDATE_CURRENT);

                alarmMgr.setExact(AlarmManager.RTC_WAKEUP,
                        calendar.getTimeInMillis(), alarmIntent);
                PendingIntent alarmIntent1 =    PendingIntent.getBroadcast(LogoFrontScreen.this,2,intent,PendingIntent.FLAG_UPDATE_CURRENT);

                alarmMgr.setExact(AlarmManager.RTC_WAKEUP,
                        calendar.getTimeInMillis()+(2000), alarmIntent1);
然后在接收器上有一个日志,但该日志只被调用一次,为什么会发生这种情况?

而不是

alarmMgr.setExact
试一试

对于调度多个报警,您需要在每次创建报警时使用唯一id

PendingIntent alarmIntent =    PendingIntent.getBroadcast(LogoFrontScreen.this,2,intent,PendingIntent.FLAG_UPDATE_CURRENT);
getBroadcast的第二个参数(即在您的情况下为2)对于每个报警都需要不同


希望它能解决您的问题:)

但是我会在2000毫秒后设置它,为什么我会有问题更新我的答案,希望它会有帮助:)但是Pending具有当前的标志更新,因此它会给出两次相同的Pending意图,这是我需要的。您已经创建了两次PendingEvent(alarmIntent和alarmIntent1)。您只需要使用不同的id创建它,如果对于alarmIntent,您使用2作为id,那么对于alarmIntent1,您使用3作为id。希望这个小小的更改能够解决您的问题:)我正在模拟一个情况,相同的事情会发生两次。它应该可以工作,为什么它不能用相同的id工作呢。
PendingIntent alarmIntent =    PendingIntent.getBroadcast(LogoFrontScreen.this,2,intent,PendingIntent.FLAG_UPDATE_CURRENT);