通知未分组

时间:2014-09-06 18:54:50

标签: android android-notifications

我是android中的一个菜鸟,我正在尝试显示我收到的推送通知的通知。每次收到推送通知时,都会在通知栏中创建新通知,即使存在现有通知也是如此。我希望它们组合在一起。

这就是我目前正在做的事情

private void generateNotification(Context context, String ticker, String title, String msg, int icon, Intent intent)
  {
    int notificationId = 1;
    long when = System.currentTimeMillis();
    int pendingNotificationsCount = AppName.getPendingNotificationsCount() + 1;
    AppName.setPendingNotificationsCount(pendingNotificationsCount);
    mNotifyBuilder = new NotificationCompat.Builder(this)
    .setWhen(when)
    .setContentTitle(title)
    .setContentText(msg)
    .setAutoCancel(true)
    .setContentIntent(PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT))
    .setNumber(pendingNotificationsCount);
//This prints the count correctly.... 
    Log.d("Snehan", "Message built with Count "+pendingNotificationsCount);
    Notification notif = mNotifyBuilder.build();
    notif.defaults = Notification.DEFAULT_ALL;
    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(notificationId, notif);
  }

我在这里做错了什么或者错过了什么?

1 个答案:

答案 0 :(得分:0)

自从我上次使用它以来,似乎Android更新了库。但逻辑仍然是一样的。您需要保存通知ID,或至少为其命名,您可以跟踪并检查它是否存在。更多信息可以在Android docs中找到。以下是我的意思摘要。

  

要设置通知以便更新,请通过调用NotificationManager.notify(ID,通知)向通知ID发出通知。要在发出通知后更新此通知,请更新或创建NotificationCompat.Builder对象,从中构建Notification对象,并使用您之前使用的相同ID发出通知。如果先前的通知仍然可见,则系统会从Notification对象的内容中更新它。如果先前的通知已被取消,则会创建新的通知。

文档包含您需要的所有内容,因此我无需为您编写代码:)希望有所帮助。

修改

好的,所以我建议你添加一个虚拟图标,看看它是做什么的。我还建议不要链接所有的东西,只链接文本的东西。这样您可以更容易地调试。尝试更密切地关注文档。我不知道你的代码有什么问题,但显然有些东西导致了这个问题。

修改2

所以看起来这个图标就是问题所在。我以前遇到过这个问题,这就是为什么我提到要明确添加它。希望当有人遇到通知问题时,请确保您有一个图标!!