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
的类中。从实例化的 activity
中传递 Context
到 UploadManager
中。函数 displayNotification()
从一个也在 UploadManager 中运行的函数(在 AsyncTask
中)多次调用。
编辑1:我忘记提到我正在将字符串 response 作为 extra
传递到 Intent intent
中。
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);
这非常重要,因为我需要额外的“响应”反映通知创建时 String response 的内容。使用 PendingIntent.FLAG_UPDATE_CURRENT
,额外的“响应”会反映最后一次调用 displayNotification()
时 String response 的内容。
我读过关于 FLAG_UPDATE_CURRENT
的文档,所以知道这是什么原因。但是,目前我不确定如何解决这个问题。