私は毎週2つのアラームを設定するアプリケーションを構築しています(特定の時間と分で)、アラームは週ごとに永遠に繰り返されます。Android AlarmManager:設定されているすべてのアラームをキャンセルする方法はありますか?
ここで重要な点は、ユーザーがアラームを変更した場合、以前に設定したアラームをキャンセルする必要があることです。
私のアプリケーションで設定されたすべてのアラームを単にキャンセルする方法はありますか?
私はあなたが目を得ることができると思い私は毎週2つのアラームを設定するアプリケーションを構築しています(特定の時間と分で)、アラームは週ごとに永遠に繰り返されます。Android AlarmManager:設定されているすべてのアラームをキャンセルする方法はありますか?
ここで重要な点は、ユーザーがアラームを変更した場合、以前に設定したアラームをキャンセルする必要があることです。
私のアプリケーションで設定されたすべてのアラームを単にキャンセルする方法はありますか?
私はあなたが目を得ることができると思いそして、その質問/回答に:そこに述べたようにAndroid: Get all PendingIntents set with AlarmManager
あなたはPendingIntentがそれである何を伝えるためにAlarmManagerに求めることはできません。しかし、あなたが取り消したいものと同じようなPendingIntentを作ることができると思います。
以前のアラームをキャンセルする場合は、PendingIntentのフラグにPendingIntent.FLAG_CANCEL_CURRENTを設定します。すでに作成されている場合は、新しいPendingIntentの生成を防ぎます。そして、アラームに設定する前に、同じPendingIntentをキャンセルしてから、アラームを設定するようにしてください。次のようにしてください:
AlarmManager 2AlarmsInWeekAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getService/getActivity(context, int, intent, PendingIntent.FLAG_CANCEL_CURRENT);
2AlarmsInWeekAlarmManager.cancel(pendingIntent);
次に、setまたはsetRepeatingメソッドを使用できます。 あなたのケースでは、それは
2AlarmsInWeekAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, "timeInMillis", "repetitionTimeInMillis", pendingintent);
する必要がありますこれは、アラームを設定する前に、同じPendingIntentですべての以前のアラームを解除することを保証します。
あなたはこれを持っているといいですね!
説明が必要です。 cancel()のドキュメントには、 "一致するインテントのアラームをすべて削除する"と書かれています。つまり、リクエストコードim getBroadcast(コンテキストコンテキスト、int requestCode、Intent intent、int flags)も同じである必要がありますか?どうか明らかにしてください。 – user2731584
こんにちは、ドキュメントは 'requestCode'についてあまり言及していません。しかし、[PendingIntent](http://developer.android.com/reference/android/app/PendingIntent.html)に 'getBroadcast'があると、それは' PendingIntent'を取得します。だから**私の知る限り**あなたが別の 'requestCode'を置くと2つの異なる' PendingIntent'が得られますので、それをキャンセルすると希望のものではなく 'PendingIntent'になります! [このリンク](http://developer.android.com/reference/android/app/PendingIntent.html#FLAG_CANCEL_CURRENT)もご覧ください。 – thegiga
私に戻ってくれてありがとう。ドキュメントをもう一度読ませてください。クラスによって予定されているアラームのリストを要求することは、とにかくありませんでした。何か案が? – user2731584