私のアプリでは、複数のアラームが同時に設定されます。残念ながら、各アラームは同じPendingIntentオブジェクトで設定されています。アラームを設定するために使用しているコードは次のとおりです。
//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名を使用するのが良い方法だと思いますが、ユーザーが作成する新しいアラームごとにこれを行う方法がわかりません。これを行う方法についての考え?ありがとう!