Androidでアラームアプリケーションを開発しています。流れは本当にシンプルなので、PendingIntentを作成してから、メソッドをAlarmManagerとよく呼んでいます。両方のpendingIntentsを同じrequestCodeに保ちます
Intent myIntent = new Intent(context, BroadcastReceiver.class);
pendingIntent = PendingIntent.getBroadcast(context, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis() + difference, pendingIntent);
は、いくつかのテストの後、私はゼロにpendingIntentのrequestCodeを設定するので、上記のコードで私は1つのアラームを設定することができることに気づいた、私はrequestCodeセットと別のアラームを設定した場合0にすると、前の値を上書きします。 requestCodeを変更せずにこれを修正する方法はありますか?私はおそらくフラグが私を助けることができると思っていたが、私は前のpendingIntentを上書きしないフラグを見つけられなかった。
明らかな解決策は、0を別のintに変更してから、すべてのintを追跡し、使用されていないintを追跡することです。私がプロジェクトをちょうど始めたのであれば、その解決策はうまくいくはずですが、私はすでに中間にあり、あらかじめ定義された要求コードとして列挙型を使用しています。このメカニックを変更して個々のintを追跡するのは非常に難しいので、同じrequestCodeの新しいものが登録されているときにpendingIntentを上書きしない方法があるかどうか尋ねています。前もって感謝します。
差別化できる特定の種類のフラグが存在するかどうかを質問しています – Libathos