我正在構建一個報警應用程序。我現在添加的功能之一就是鬧鈴的音量。當用戶設置鬧鐘時,他們可以用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的唯一標識符?換句話說,我怎麼知道哪個鬧鐘正在被觸發?