如何在多个通知单击时显示适当的消息

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);

【问题讨论】:

我没有看到 notificationIntentnotificationmanager 之间的链接——不确定这是否重要,但它会帮助我帮助你。 【参考方案1】:
    将标志从 PendingIntent.FLAG_UPDATE_CURRENT 更改为 PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT 创建 PendingIntent 时使用不同的第二个参数

【讨论】:

以上是关于如何在多个通知单击时显示适当的消息的主要内容,如果未能解决你的问题,请参考以下文章

如何在适用于 Android 和 cordova 的项目中单击通知时显示特定页面?

单击通知时显示调用本地通知的内容页面

如何在应用关闭时显示推送通知,类似于 facebook 和 whatsapp

如何通过 Javascript / jQuery 在按钮单击时显示引导警报?

如何默认隐藏键盘并仅在单击 EditText 时显示 [重复]

如何实现消息传递通知iOS