0

我有以下显示通知的方法:

private void sendNotification(String msg) {
        mNotificationManager = (NotificationManager)
                _context.getSystemService(Context.NOTIFICATION_SERVICE);

        Notification notification = new Notification(R.drawable.menu_cartable,
                "you have a new message",
                System.currentTimeMillis());
        notification.flags = Notification.FLAG_AUTO_CANCEL;
        notification.sound = RingtoneManager
                .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

        Intent notificationIntent = new Intent(_context, ActCartable.class);
        PendingIntent intent = PendingIntent.getActivity(_context, 0,
                    notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);

        notification.setLatestEventInfo(_context,
                "you have a new message",
                msg,
                intent);

        mNotificationManager.notify(NOTIFICATION_ID, notification);

    }

在此处输入图像描述 在此处输入图像描述

在 Android 4.2 中,当第一次收到消息(通知栏被清除)时,通知栏中会显示一个大图标(tickerText),几秒钟后它会被隐藏,通知会转到通知栏。如果我没有打开该通知(通知栏未清除)并且收到第二条消息,则不会再次显示大图标但设备会正确发出声音并且如果用户在通知栏中成功更新新消息的内容打开通知栏。

你应该知道大图标在 android 3.x 中一直显示。

每次收到新消息且通知栏未清除时,如何在 android 4.x 中显示该大图标?

4

1 回答 1

1

例如,您可以取消旧通知并显示具有另一个 id 的新通知。它看起来像这样:

mNotificationManager.cancel(notificationId);
mNotificationManager.notify(notificationId++, notification);

@breceivemail 更新:

如果你像这样放++之前它可以正常工作notificationId

 mNotificationManager.cancel(notificationId);
 mNotificationManager.notify(++notificationId, notification);

谢谢,

于 2013-09-21T12:36:27.600 回答