1. ホーム
  2. android

[解決済み] PendingIntentの "requestCode "は何に使うのですか?

2022-07-15 09:29:30

質問

背景は?

AlarmManagerを介したアラームにPendingIntentを使っています。

問題です。

最初は、以前のものをキャンセルするために、私はアラームを開始するために以前に使用した正確なrequestCodeを提供しなければならないと思いました。

しかし、その後、私は間違っていることに気づきました。 キャンセルAPI は言う。

一致するIntentを持つアラームを削除します。任意のアラーム、任意のタイプ。 そのIntentがこのIntentと一致する(filterEquals(Intent)で定義される)アラーム。 はキャンセルされます。

を見ていると、" filterEquals "とドキュメントには書かれています。

2つのインテントが同じかどうかを判断し、インテントの解決(フィルタリング)を行う。 解決 (フィルタリング) のために、2 つのインテントが同じかどうかを判断します。つまり、アクション、データ、タイプ、クラス、およびカテゴリが同じかどうかです。 およびカテゴリが同じかどうかです。これは、インテントに含まれる余分なデータを比較するものではありません。 を比較しません。

というわけで、quot;requestCode"が何のためにあるのかわかりません...。

質問です。

requestCode"は何に使うのですか?

同じquot;requestCode"で複数のアラームを作成した場合、互いに上書きされますか?

どのように解決するのですか?

  1. requestCode は、後で同じ保留中のインテント インスタンスを取得するために使用されます (キャンセルするためなど)。
  2. はい、私の推測では、アラームは互いに上書きされると思います。私は、要求コードを一意に保ちます。