通知没有堆叠

时间:2017-01-26 17:21:10

标签: android notifications localnotification

我正在尝试在用户打开活动时创建堆叠的本地通知。我无法看到它们叠加在一起。所有这些都是单独出现的。我已经提到了许多其他堆栈溢出问题,但没有一个工作。以下是我的代码:

public class NotificationGroupActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    createNotifications();
}

private void createNotifications() {

    final  String GROUP_KEY_EMAILS = "group_key_emails";
    NotificationManagerCompat notificationManager =
            NotificationManagerCompat.from(this);
    for(int i = 0; i<10;i++) {

// Build the notification, setting the group appropriately
        Notification notif = new NotificationCompat.Builder(this)
                .setContentTitle("New mail from " + i)
                .setContentText("SUBJECT " + i)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setGroup(GROUP_KEY_EMAILS)
                .setGroupSummary(true)
                .build();
// Issue the notification
        notificationManager.notify(i + 10, notif);
    }

}
}

1 个答案:

答案 0 :(得分:0)

此处的问题是,您为自己发出的每个通知使用了不同的ID(.notify(int, Notification)方法的第一个参数)。

正如documentation所说:

  

要在发出通知后更新此通知,请更新或创建NotificationCompat.Builder对象,从中构建Notification对象,并使用您之前使用的相同ID发出通知。

所以你必须替换

notificationManager.notify(i + 10, notif);

使用:

notificationManager.notify(0 /* Or any constant*/, notif);

考虑到这将替换旧通知,如果你想要实现类似什么Whatsapp或Inbox你必须为堆叠通知提供自己的自定义布局