NotificationManager,多个图标,但只有一个可以启动活动

时间:2011-10-06 23:00:45

标签: android notifications statusbar

我有一个可以接收来自多个来源的消息的应用程序。我想在状态栏上发布通知,让用户知道每个来源。

现在,如果我在通话中指定一个唯一的notifyId_: mNotificationManager.notify(notifyId_,notifyDetails);

Android在状态栏上放置了多个图标,但我只想要一个图标。如果我使用相同的notifyId_然后我得到一个图标,但是当您查看通知详细信息时,只列出一个。有没有办法获得一个带有多个唯一ID的图标?

更大的问题。如果我使用多个图标和唯一ID,当超过1个意图待定时,Android(2.2)将无法正确启动PendingIntent。我测试了我的3个来源,每个都是独立的。只要状态栏上只有一个图标,只有一个活动可以启动,其他人说:     发送contentintent失败pendingintentcanceledexception     窗口已经集中,忽略了

的焦点增益

代码如下所示:

int notifyId_ = 237;
public void createNotification(String source, String person)
{
    notifyId_++;
    Context context = getApplicationContext();

    Intent notifyIntent = new Intent(context, MessengingActivity.class);
    notifyIntent.putExtra("name", person);
    notifyIntent.putExtra("notifyId", notifyId_);

    PendingIntent pi = PendingIntent.getActivity(SentinelActivity.this, 0, notifyIntent, 
            Intent.FLAG_ACTIVITY_MULTIPLE_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);


    Notification notifyDetails = new Notification(R.drawable.icon, "Text message(s) from " + source, System.currentTimeMillis());
    notifyDetails.setLatestEventInfo(context, source, "Conversation updated", pi);
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    mNotificationManager.notify(notifyId_, notifyDetails);
}

感谢您的任何见解!

1 个答案:

答案 0 :(得分:0)

使用通知对象

中的数字属性