未决意图/警报第二次无效

时间:2016-06-16 09:07:38

标签: android alarmmanager android-pendingintent

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

  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);

然后在接收器上有一个日志,但该日志只被调用一次,为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

取代

alarmMgr.setExact

尝试

alarmMgr.setInexactRepeating

为了安排多个警报,您需要在每次创建

时使用唯一ID
PendingIntent alarmIntent =    PendingIntent.getBroadcast(LogoFrontScreen.this,2,intent,PendingIntent.FLAG_UPDATE_CURRENT);

getBroadcast的第二个参数(在你的情况下是2)对于每个警报都需要不同。

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