40

通知バーから開かれているアクティビティがありますがNotificationManager.notify(...)、そうすると、インテントに別のバンドルを与えて、各通知が同じアクティビティを開くようにしますが、DB から他の情報を取得します。

しかし、いずれかの通知に入ろうとすると (たとえば、3 つの通知がある場合)、それらはすべて、最後の通知と同じバンドルでアクティビティに送信されます。いくつかのフラグを試した後、どこに問題があるのか​​ 本当にわかりません(一部のフラグでは、最初のバンドルでアクティビティに通知が入ります)。

私は彼らがチュートリアルでそれを使用した方法に従っています。

4

1 に答える 1

114

PendingIntent に同じ操作、アクション、データ、カテゴリ、コンポーネント、およびフラグがある場合、それらは置き換えられます。

状況に応じて、私は通常、静的な値 (0,1,2) または DB から受信しているデータの行 ID として一意の要求コードを提供することでこれを解決します。

PendingIntent.getActivity(context, MY_UNIQUE_VALUE , notificationIntent, PendingIntent.FLAG_ONE_SHOT);

次に、notify() に同じ一意の値を使用します。

mNotificationManager.notify(MY_UNIQUE_VALUE, notification);
于 2011-05-20T07:19:00.303 に答える