我在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.
大家能帮我看看错误出现在哪吗?
问题是你创建了一个新的通知对象。只需创建一次,检查它是否存在
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。