0

我希望能够向同一个 BroadcastReceiver 注册两个警报。然而,第一个警报永远不会被触发。我怎样才能使这项工作?

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

只有第二个熄灭。我怎样才能让它们都熄灭?

编辑答案:将 requestCode 设置为独特的。PendingIntent.getBroadcast) 方法的第二个参数 android 挂起意图通知问题

4

2 回答 2

1

将 requestCode 设置为唯一的。PendingIntent.getBroadcast) 方法的第二个参数 android 挂起意图通知问题

于 2011-07-18T18:12:25.797 回答
0

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

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

警报管理器 - 安排多个非重复事件

于 2011-07-18T06:12:26.313 回答