Как сделать так, чтобы в Status bar все уведомления от определённого приложения появлялись под одной иконкой?

Как сделать, чтобы в Status bar все уведомления от определённого приложения появлялись под одной иконкой (т.е. схожие события складываются в одно уведомление), а на самой иконке было бы number с количеством этих уведомлений? Пробовал вот так, но, к сожалению, цифра даже не появляется, и уведомления заменяются одно на другое:
import android.app.Activity;  
import android.app.Notification;  
import android.app.NotificationManager;  
import android.app.PendingIntent;  
import android.content.Intent;  
import android.os.Bundle;  
public class Mondayremind extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    int notifID = getIntent().getExtras().getInt("NotifID");
    Intent i = new Intent();
    i.putExtra("NotifID", notifID);

    PendingIntent detailsIntent = PendingIntent.getActivity(this, 0, i, 0);

    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    Notification notif = new Notification(R.drawable.iconcapng,
            "Приложение", System.currentTimeMillis());
    Bundle extras = getIntent().getExtras();
    String str = extras.getString("StringNotif");
    CharSequence from = "Напоминание";
    CharSequence message = str;
    notif.setLatestEventInfo(this, from, message, detailsIntent);

    notif.vibrate = new long[] { 100, 250, 100, 500 };
    notif.flags |= Notification.FLAG_AUTO_CANCEL;
    notif.number += 1;
    notif.flags |= Notification.FLAG_NO_CLEAR;
    notif.defaults |= Notification.DEFAULT_LIGHTS;
    notif.defaults |= Notification.DEFAULT_SOUND;
    notif.flags |= Notification.FLAG_SHOW_LIGHTS;

    nm.notify(notifID, notif);

    finish();
    }
}
  • Вопрос задан
  • 2983 просмотра
Пригласить эксперта
Ответы на вопрос 1
@belozerow
Я и не знал о существовании number, но судя по коду он у вас всегда == 1.
В документации:
For example, before HONEYCOMB, this number was superimposed over the icon in the status bar. Starting with HONEYCOMB, the template used by Notification.Builder has displayed the number in the expanded notification view. If the number is 0 or negative, it is never shown.

Т.е. после Android 3.0 цифра не будет показываться поверх иконки уведомления, а будет отображаться в развернутой нотификации.

Как сделать, чтобы в Status bar все уведомления от определённого приложения появлялись под одной иконкой (т.е. схожие события складываются в одно уведомление)

Вы это и так делаете тем, что указываете у всех нотификаций один и тот же id.

И да, какой-то странный способ - запускать активити, показать нотификацию, а после этого убивать активити. Не говоря уже о захардкоженных строках и пустом интенте нажатия.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы