BroadcastReceiverに送信する複数のインテントをスケジュールしています。 すべてのインテントの違いは、受信する時間とそれに含まれる余分なデータです。AlarmManagerで特定のPendingIntentsをキャンセルする
これで、特定のアラームをキャンセルできるようにする必要があります。 AlarmManager.cancel()のjavadocによると、それはfilterEqualsメソッドを使用してインテントを比較しています
http://developer.android.com/reference/android/content/Intent.html#filterEquals(android.content.Intent)
さて問題はfilterEqualsによると、すべての私の意図が同じであることです。 「アクション、データ、タイプ、クラス、およびカテゴリ」に対するメソッドのチェック
とユニークなデータの意図余分なバンドルまたはAlarmManagerの時間としてのいずれかです。なるだろう
intent.setData(Uri.withAppendedPath(Uri.EMPTY, "some_unique_data"));
は、すべての意図ユニークfilterEqualsの方法によれば、このような何かにデータを変更した後、私の意図はもうBroadcastReceiverに到達していない:使用して、たとえば - 私はこれらのパラメータを変更しようとしました。
具体的にどのようなデータのビット、私はまだ私の単純なBroadcastReceiverに受取filterEqualsによると、すべての意思一意にするために変更するとことができますか?
おそらく私は自分の受信機を変更することができますか?
がありrequestCodeと呼ばれるPendingIntent.getBroadcastメソッド内のパラメータであるが、それはドキュメントの状態をだとして。これは、このコードが使用されていないこと、または保留中のインテントをキャンセルするための一意のIDとして指定できることを意味しますか? – Kostas
あなたはあなたの答えを受け入れることができますか?それは開いている質問のリストからこの質問を削除し、おそらく同様の問題を抱えている他の人を助けるでしょう。ありがとう。 –