protected void displayNotification(String response) {
Intent intent = new Intent(context, testActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
Notification notification = new Notification(R.drawable.icon, "Upload Started", System.currentTimeMillis());
notification.setLatestEventInfo(context, "Upload", response, pendingIntent);
nManager.notify((int)System.currentTimeMillis(), notification);
}
この関数は複数回呼び出されます。notification
クリックすると、それぞれが testActivity を起動したいと思います。残念ながら、最初の通知のみが testActivity を起動します。残りをクリックすると、通知ウィンドウが最小化されます。
追加情報: 関数displayNotification()
は というクラスにありUploadManager
ます。 インスタンス化するからContext
渡されます。関数は、同じように UploadManager で実行されている関数から複数回呼び出されます。UploadManager
activity
displayNotification()
AsyncTask
Intent intent
編集 1: String 応答をとして渡していることを忘れていましたextra
。
protected void displayNotification(String response) {
Intent intent = new Intent(context, testActivity.class);
intent.putExtra("response", response);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
通知が作成されたときの文字列応答を反映するために追加の「応答」が必要なため、これは大きな違いになります。代わりに を使用するPendingIntent.FLAG_UPDATE_CURRENT
と、追加の「応答」は、 への最後の呼び出しでの String 応答が反映されdisplayNotification()
ます。
のドキュメントを読むことで、これがなぜなのかがわかりますFLAG_UPDATE_CURRENT
。ただし、現時点ではこれを回避する方法がわかりません。