2010-09-07 14 views
7

Używam niestandardowego powiadomienia ... w jaki sposób mogę ustawić brak powiadomienia? I wyświetlić listę powiadomień? to jest mój kod ...Wiele powiadomień z jedną ikoną paska stanu w Androidzie

public void onReceive(Context context, Intent intent) { 
     Toast.makeText(context, "coming", Toast.LENGTH_LONG).show(); 
     Bundle descBundle = intent.getExtras(); 
     CharSequence desc = descBundle.getString("description"); 
     int reminderId = descBundle.getInt("reminderId"); 
     NotificationManager mNotificationManager; 
     mNotificationManager = (NotificationManager) context 
       .getSystemService(Context.NOTIFICATION_SERVICE); 
     PendingIntent contentIntent = PendingIntent.getActivity(context, 
       reminderId, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT); 
     RemoteViews contentView = new RemoteViews(context.getPackageName(), 
       R.layout.main); 
     contentView.setImageViewResource(R.id.image, R.drawable.reminder_1); 
     contentView.setTextViewText(R.id.text, desc); 
     Notification notifyDetails = new Notification(); 
     notifyDetails.icon = R.drawable.reminder_1; 
     notifyDetails.when = System.currentTimeMillis(); 
     notifyDetails.tickerText = desc; 
     notifyDetails.iconLevel = 1; 
     notifyDetails.number = reminderId; 
     notifyDetails.contentView = contentView; 
     notifyDetails.contentIntent = contentIntent; 
     mNotificationManager.notify(0, notifyDetails); 
    } 

używam tego kodu, aby pokazać powiadomienia ... ale pokazuje tylko jedno treść powiadomienia ... ale ikona bez powiadomienia pokazuje ...

+0

Czy możemy dodać wielokrotne powiadomienie do tego menedżera? – Kandha

Odpowiedz

2

Każda ikona odpowiada jednemu powiadomieniu; nie można powiązać wielu powiadomień z jednym wystąpieniem elementu na pasku powiadomień.

Możesz jednak nałożyć numer nad ikonę (np., Aby pokazać liczbę zdarzeń, które ikona reprezentuje), podobnie jak niektóre aplikacje SMS i e-mail.

Wykonuje się to zmienną instancji number z Notification, tak jak w powyższym fragmencie kodu.

Edit:
Aby być bardziej jasne: jeśli chcesz kilka powiadomień, musisz utworzyć wiele Notification obiektów i wywołać NotificationManager.notify() wielokrotnie.

Każdy element Notification może wytworzyć tylko jedną ikonę, może zawierać jedną treść w obszarze powiadomień i może mieć przypisany jeden numer Intent.

+0

Próbowałem zmiennej "numer", ale to również pokazuje pojedyncze powiadomienie. – 100rabh

+0

@ 100rabh: Poprawiłem moją odpowiedź, aby wyraźniej powiedzieć, że nie możesz tego zrobić. –

3

Pamiętaj, że jeśli chcesz wyświetlać powiadomienia wielokrotne dla różnych obiektów, musisz przypisać im inny identyfikator powiadomienia.

Na przykład, jeśli masz 2 różne przedmioty, trzeba zadzwonić

mNotificationManager.notify(0, notifyDetails); 

i

mNotificationManager.notify(1, notifyDetails); 

Jeśli tego nie robią, Powiadomienie będzie zawsze jeden i będzie zawsze zaktualizowany.

Powiązane problemy