Android 累计未读通知的数量

我在android应用程序中设置了通知功能。每当我接收到一个通知时,未读通知的数量就累计。使用 notification.number 函数,代码如下:

NotificationManager notificationManager = (NotificationManager) 
getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon,
"A new notification", System.currentTimeMillis());
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.number += 1;
Intent intent = new Intent(this, NotificationReceiver.class);

PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, "This is the title",
"This is the text", activity);
notificationManager.notify(0, notification);

但是现在不管接收到多少通知,未读通知的数量没有增加,它总是只显示1.
大家能帮我看看错误出现在哪吗?

5个回答

问题是你创建了一个新的通知对象。只需创建一次,检查它是否存在

public class main extends Activity {

Notification notification=null;


//....
if (this.notification == null)
    this.notification = new Notification(R.drawable.icon,
        "A new notification", System.currentTimeMillis());

this.notification.flags |= Notification.FLAG_AUTO_CANCEL;
this.notification.number += 1;

是不是可以换个思路实现你的需求,每次去重新查一次未读数量,源码里的信息应用就是这么做的

试过 似乎不行,求具体解决方案

这个是错误的,貌似网上都是这样写的,为什么你们可以呢??

notification.number += 1; 如果你每次 number 都是0 那么+=1 还是1 啊 , 为什么number每次都是0 , 可能是你每次都new了notification。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问