clcurie_11
2013-03-01 09:17
采纳率: 64.8%
浏览 7.1k

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条回答 默认 最新

  • hxn_217 2013-03-04 03:04
    已采纳

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

    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;
    
    已采纳该答案
    打赏 评论
  • balmy 2013-03-01 11:22

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

    打赏 评论
  • yzsunlight 2014-01-13 12:57

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

    打赏 评论
  • Issay 2015-03-31 08:23

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

    打赏 评论
  • tomkan 2015-08-05 10:13

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

    打赏 评论

相关推荐 更多相似问题