У меня есть приложение, которое может получать сообщения из нескольких источников. Я хотел бы поместить уведомление в строку состояния, чтобы пользователь знал о каждом источнике.
Теперь, если я укажу уникальный notifyId_ в вызове: mNotificationManager.notify(notifyId_, notifyDetails);
Android помещает несколько значков в строку состояния, но мне нужен только один значок. Если я использую один и тот же notifyId_, я получаю один значок, но затем при просмотре сведений об уведомлении отображается только один. Есть ли способ получить один значок с несколькими уникальными идентификаторами?
Большая проблема. Если я использую несколько значков и уникальных идентификаторов, Android (2.2) не будет правильно запускать PendingIntent, когда ожидается более одного намерения. Я протестировал свои 3 источника, каждый работает сам по себе. Как только у меня есть создатель, чем один значок в строке состояния, может быть запущено только одно действие, другие говорят: отправка контента не удалась, ожидание намерения отменено, окно исключения уже сфокусировано, игнорируя усиление фокуса
Код выглядит так:
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);
}
спасибо за любое понимание!