我的應用程序將同時設置多個警報。不幸的是,每個鬧鐘都使用相同的PendingIntent對象進行設置。下面是我使用的設置報警代碼:刪除AlarmManager警報僅適用於已刪除的警報
//Use AlarmManager to trigger the notification/alarm.
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
//PendingIntent to launch activity when the alarm triggers.
Intent i = new Intent("com.testapp.DisplayNotification");
//Assign the reminder's primary key as the notification ID.
i.putExtra("Reminder_Name", editRemindMeTo.getText().toString());
i.putExtra("Reminder_Primary_Key", reminderPrimaryKey);
PendingIntent displayIntent = PendingIntent.getActivity(
getBaseContext(), 0, i, 0);
//Set the alarm to trigger.
alarmManager.set(AlarmManager.RTC_WAKEUP,
c.getTimeInMillis(), displayIntent);
我知道,我可以使用下面的代碼刪除報警:
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyPendingIntentService.class);
PendingIntent displayIntent = PendingIntent.getService(context, 0, i, 0);
alarmManager.cancel(displyIntent);
但是,使用此代碼將刪除所有我報警(糾正我,如果我在這裏錯了)。有沒有辦法刪除只是用戶從數據庫中刪除的警報?在用戶刪除我應用程序數據庫中的警報條目後,應該從我的應用程序中刪除警報。我猜測,使用不同的PendingIntent名稱將是一條路,但我不知道如何爲用戶創建的每個新警報執行此操作。如何做到這一點的想法?謝謝!
我在這裏作爲「意圖」傳遞什麼?我從應用程序中絕對不同的地方刪除警報,而不是設置它們的地方,所以我在這裏沒有任何意圖 –