通知警报仅针对第一条消息显示

时间:2013-09-14 11:17:15

标签: android notifications

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

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

    }

enter image description here enter image description here

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

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

每次收到新邮件并且没有清除通知栏时,如何在android 4.x中显示该大图标?

1 个答案:

答案 0 :(得分:1)

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

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

@breceivemail更新:

如果您将++放在notificationId之前,它可以正常工作:

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

谢谢,