2010-09-07 9 views
7

sto utilizzando la notifica personalizzata ... come posso impostare la notifica no? Ed elencare quelle notifiche? questo è il mio codice ...Notifiche multiple con l'icona di una barra di stato in Android

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); 
    } 

Sto usando questo codice per mostrare la notifica ... ma mostra solo un contenuto di notifica ... ma l'icona non mostra di notifica ...

+0

possiamo aggiungere la notifica multipla in quel gestore? – Kandha

risposta

2

Ogni icona corrisponde a una notifica; non è possibile associare più notifiche con un'istanza di un articolo sulla barra di notifica.

È possibile, tuttavia, sovrapporre un numero sopra l'icona (ad es. Per mostrare il numero di eventi rappresentati dall'icona) come fanno alcune applicazioni SMS ed e-mail.

Questo è fatto con la variabile di istanza number di Notification, come si è nel frammento di codice sopra.

Edit:
Per essere più chiari: se si desidera più notifiche, è necessario creare più Notification oggetti e chiamare NotificationManager.notify() più volte.

Ogni Notification può produrre solo un'icona, può avere un pezzo di contenuto all'interno dell'area di notifica e può avere uno Intent associato ad esso.

+0

Ho provato la variabile "numero" ma anche quella mostra una singola notifica. – 100rabh

+0

@ 100rabh: ho modificato la mia risposta per essere più chiaro sul dire che non puoi farlo. –

3

Ricordare che se si desidera visualizzare più notifiche per oggetti diversi, è necessario assegnare un ID di notifica diverso per ciascuno.

Ad esempio, se si dispone di 2 oggetti diversi, è necessario chiamare

mNotificationManager.notify(0, notifyDetails); 

e

mNotificationManager.notify(1, notifyDetails); 

Se non lo fai, la notifica sarà sempre uno e sarà sempre aggiornato.

Problemi correlati