【问题标题】:Stacked Wear notification shown on phone tooStacked Wear 通知也会显示在手机上
【发布时间】:2015-05-07 17:40:36
【问题描述】:

我有 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

【问题讨论】:

标签: android notifications android-notifications wear-os android-wear-notification


【解决方案1】:

将 NotificationManager 替换为 NotificationManagerCompat

使用 NotificationManager

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多