如何在android中存储所有未读通知?

时间:2014-02-15 13:28:20

标签: android

嗨,

我是Android的新手,我使用了GCM的通知,但问题是,当我逐个发送多个通知时,当我向下滚动状态栏时,只有最后一个可用。我想向下滚动状态栏时显示所有未读通知。 我的代码如下。

 private static void generateNotification(Context context, String message) {
    System.out.println("generateNotification()   :  "+message);
    NotificationMessageModel.msg=message;
    int icon = R.drawable.ic_launcher;
    long when = System.currentTimeMillis();
    NotificationManager notificationManager = (NotificationManager)
            context.getSystemService(Context.NOTIFICATION_SERVICE);
    Notification notification = new Notification(icon, message, when);

    String title = context.getString(R.string.app_name);

    Intent notificationIntent = new Intent(context, HomeActivity.class);
    notificationIntent.putExtra("message", message);
    // set intent so it does not start a new activity
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
            Intent.FLAG_ACTIVITY_SINGLE_TOP);
    PendingIntent intent =
            PendingIntent.getActivity(context, 0, notificationIntent, 0);
    notification.setLatestEventInfo(context, title, message, intent);
    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    // Play default notification sound
    notification.defaults |= Notification.DEFAULT_SOUND;

    //notification.sound = Uri.parse("android.resource://" + context.getPackageName() + "your_sound_file_name.mp3");

    // Vibrate if vibrate is enabled
    notification.defaults |= Notification.DEFAULT_VIBRATE;
    notificationManager.notify(0, notification);      

}

请帮助别人 提前谢谢。

1 个答案:

答案 0 :(得分:1)

在您的代码中:

notificationManager.notify(0, notification);     

0参数对应于通知ID。为您发送的每个通知提供不同的ID。文档说明:

  

public void notify(int id,Notification notification)在API中添加   1级

     

发布要在状态栏中显示的通知。如果是通知   具有相同ID的已经由您的应用程序发布并具有   尚未取消,将被更新的信息取代。   参数id此通知的标识符在您的通道中是唯一的   应用。 notification一个Notification对象,描述了什么   显示用户。不能为空。