2

我有 1 个摘要通知和多个堆叠通知。出于某种原因,堆叠的通知不仅会显示在 Andrid Wear 设备上,还会显示在手机上。根据 Stacking Notifications文档 ,它们应该只显示在手表上。NotificationBuilder.setGroup 设置为相同的值,并且只有摘要具有 .setSummary(true)。

详情: http: //marcuswolschon.blogspot.de/2015/05/implementing-k9-mail-wear-support.html

代码: https ://github.com/k9mail/k-9/blob/73ec00b43db81038805999f5642961ae9005d6bc/k9mail/src/main/java/com/fsck/k9/controller/MessagingController.java#L4941

4

1 回答 1

1

NotificationManager替换为NotificationManagerCompat

使用通知管理器

private void send() {
    Notification notification1 =
            new NotificationCompat.Builder(this)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle("News1")
                    .setGroup("News")
                    .setContentText("Text")
                    .build();

    Notification notification2 =
            new NotificationCompat.Builder(this)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle("News2")
                    .setGroup("News")
                    .setContentText("Text2")
                    .build();

    NotificationManager notificationManager = (NotificationManager)
            getSystemService(NOTIFICATION_SERVICE);

    notificationManager.notify(1 , notification1);
    notificationManager.notify(2 , notification2);

    Notification Summary = new NotificationCompat.Builder(this)
            .setContentTitle("2 new News")
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentText("Text2")
            .setGroup("News")
            .setGroupSummary(true)
            .build();

    notificationManager.notify(-1 , Summary);
}

在此处输入图像描述

使用NotificationManagerCompat

private void send() {
    Notification notification1 =
            new NotificationCompat.Builder(this)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle("News1")
                    .setGroup("News")
                    .setContentText("Text")
                    .build();

    Notification notification2 =
            new NotificationCompat.Builder(this)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle("News2")
                    .setGroup("News")
                    .setContentText("Text2")
                    .build();

    NotificationManagerCompat notificationManager =
            NotificationManagerCompat.from(this);

    notificationManager.notify(1 , notification1);
    notificationManager.notify(2 , notification2);

    Notification Summary = new NotificationCompat.Builder(this)
            .setContentTitle("2 new News")
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentText("Text2")
            .setGroup("News")
            .setGroupSummary(true)
            .build();

    notificationManager.notify(-1 , Summary);
}

在此处输入图像描述

于 2015-05-25T10:24:30.560 回答