如果要设置多个报警(重复或单个),则只需要使用不同的requestCode创建它们的PendingIntents。如果requestCode相同,则新的报警将覆盖旧报警。
以下是创建多个单个警报并将其保留在ArrayList中的代码。我把PendingIntent放在阵列中,因为这是你需要取消你的闹钟。
// context variable contains your `Context`
AlarmManager mgrAlarm = (AlarmManager) context.getSystemService(ALARM_SERVICE);
ArrayList intentArray = new ArrayList();
for(i = 0; i < 10; ++i)
{
Intent intent = new Intent(context, OnAlarmReceiver.class);
// Loop counter `i` is used as a `requestCode`
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, i, intent, 0);
// Single alarms in 1, 2, ..., 10 minutes (in `i` minutes)
mgrAlarm.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + 60000 * i,
pendingIntent);
intentArray.add(pendingIntent);
}