如何在多个通知单击时显示适当的消息
Posted
技术标签:
【中文标题】如何在多个通知单击时显示适当的消息【英文标题】:How to show appropriate message on multiple notification click 【发布时间】:2014-01-20 07:34:04 【问题描述】:我的应用程序处理推送通知,并使用
在状态栏中显示多个通知notificationmanager.notify(id, notification);
其中 id 是动态整数。现在我想在状态栏中获取单击通知的通知的“id”。通过
传递“id”notificationIntent.putExtra("notifyId", id);
但它总是返回最新收到的通知的“id”。如何获取相应点击通知的“id”?
用于显示通知的代码:
int icon = R.drawable.icon;
long when = System.currentTimeMillis();
Random generator = new Random();
int i = generator.nextInt(10) + 1;
// Set Notification Title
String strtitle = getString(R.string.notificationtitle);
// Set Notification Text
String strtext = getString(R.string.notificationtext);
Notification notification = new Notification(icon, strtext, when);
// Open NotificationView Class on Notification Click
Intent notificationIntent = new Intent(this, NotificationView.class);
// Send data to NotificationView Class
notificationIntent.putExtra("title", title);
notificationIntent.putExtra("text", message);
notificationIntent.putExtra("notifyId", i);
PendingIntent intent = PendingIntent.getActivity(MyActivity.this, 0,
notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(MyActivity.this, "Title",
message, intent);
// Create Notification Manager
NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Build Notification with Notification Manager
notificationmanager.notify(i, notification);
【问题讨论】:
我没有看到notificationIntent
和 notificationmanager
之间的链接——不确定这是否重要,但它会帮助我帮助你。
【参考方案1】:
-
将标志从
PendingIntent.FLAG_UPDATE_CURRENT
更改为 PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT
创建 PendingIntent 时使用不同的第二个参数
【讨论】:
以上是关于如何在多个通知单击时显示适当的消息的主要内容,如果未能解决你的问题,请参考以下文章
如何在适用于 Android 和 cordova 的项目中单击通知时显示特定页面?
如何在应用关闭时显示推送通知,类似于 facebook 和 whatsapp
如何通过 Javascript / jQuery 在按钮单击时显示引导警报?