我正在构建一个报警应用程序。我现在添加的功能之一就是闹铃的音量。当用户设置闹钟时,他们可以用SeekBar
选择闹钟的音量。所以,当警报熄灭时,它的音量应该设置为用户设置的值。为此,我需要知道已经调用了哪个特定的警报。我已经从数据库中识别出每个PendingIntent
与警报的ID。我的问题是我不知道如何在闹钟响起后再次找回这个ID。如何获取由AlarmManager调用的唯一pendingIntent的ID?
正如你所看到的,我这是怎么识别每一个的PendingIntent通过传递alarm.getID()
:
PendingIntent pendingAlarmIntent = PendingIntent.getBroadcast(
ChangeAlarmActivity.this, (int)alarm.getID(), alarmIntent, 0);
在我的活动
所以被称为当警报响起时我要像做
int id = pendingIntent.getID();
Alarm alarm = database.getAlarm(id);
int volume = alarm.getVolume();
因此,如何在警报开启后调用的Activity中获取PendingIntent的唯一标识符?换句话说,我怎么知道哪个闹钟正在被触发?