Android AlarmManager设置为同一广播接收器不';行不通

Android AlarmManager设置为同一广播接收器不';行不通,android,broadcastreceiver,alarmmanager,android-alarms,Android,Broadcastreceiver,Alarmmanager,Android Alarms,我希望能够将两个警报注册到同一个广播接收器。然而,第一个警报永远不会被触发。我怎样才能做到这一点 Calendar now = Calendar.getInstance(); now.set(Calendar.SECOND, now.get(Calendar.SECOND) + 5); long trigger1 = now.getTimeInMillis(); now.set(Calendar.SECOND, now.get(Calendar.SECOND) + 10)

我希望能够将两个警报注册到同一个广播接收器。然而,第一个警报永远不会被触发。我怎样才能做到这一点

Calendar now = Calendar.getInstance();
    now.set(Calendar.SECOND, now.get(Calendar.SECOND) + 5);
    long trigger1 = now.getTimeInMillis();
    now.set(Calendar.SECOND, now.get(Calendar.SECOND) + 10);
    long trigger2 = now.getTimeInMillis();

    Intent startIntent = new Intent(AlarmStartReceiver.START_ALARM);
    startIntent.putExtra(AlarmStartReceiver.EXTRA_ALARM_ID, 4);
    PendingIntent startPIntent = PendingIntent.getBroadcast(context, 0, startIntent, PendingIntent.FLAG_UPDATE_CURRENT);

    Intent startIntent2 = new Intent(AlarmStartReceiver.START_ALARM);
    startIntent2.putExtra(AlarmStartReceiver.EXTRA_ALARM_ID, 5);
    PendingIntent startPIntent2 = PendingIntent.getBroadcast(context, 0, startIntent2, PendingIntent.FLAG_UPDATE_CURRENT);


    AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    alarm.set(AlarmManager.RTC_WAKEUP, trigger1, startPIntent);
    alarm.set(AlarmManager.RTC_WAKEUP, trigger2, startPIntent2);
只有第二个爆炸了。我怎样才能让他们两个都走

编辑答案:将请求代码设置为唯一的。PendingEvent.getBroadcast)方法的第二个参数

您是否在为设置的每个报警寻找单独的通知事件?或者它必须是与状态栏图标上显示的报警事件数相同的通知

查看这篇文章,了解如何使用“setData()”创建单独的报警


将请求代码设置为唯一的。PendingEvent.getBroadcast)方法的第二个参数是android挂起的意图通知问题