Bonjour, je veux montrer toute la notification en une seule vue. Et souhaitez mettre à jour le numéro de notification dans la barre d'état ... Son mise à jour de toutes les infos mais montrant le numéro toujours 1 .. S'il vous plaît dites-moi comment le résoudre .. .
@Override
public void onReceive(Context context, Intent intent)
{
//Random randGen = new Random();
//int notify_id = randGen.nextInt();
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Activity.NOTIFICATION_SERVICE);
String title = intent.getStringExtra(TableUtils.KEY_TITLE);
String occasion = intent.getStringExtra(TableUtils.KEY_OCCASION);
Notification notification =
new Notification(R.drawable.icon, "Love Cardz" ,
System.currentTimeMillis());
// notification.vibrate = new long[]{100,250,300,330,390,420,500};
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.number+=1;
Intent intent1 = new Intent(context, ThemesBrowserActivity.class);
PendingIntent activity =
PendingIntent.getActivity(context, 1 , intent1,
PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(context, occasion, title, activity);
notificationManager.notify(1, notification);
}
3 Réponses :
Ceci est mon code et ça marche. Je n'ai testé que sur les anciennes versions Android. Je soupçonne des versions plus récentes Le badge "nombre" a été invisible, mais je n'ai pas eu la chance de le tester. Il est également facile de mettre à jour la notification plus tard: vous Je dois juste appeler la méthode à nouveau avec de nouvelles valeurs. Le nombre sera affiché dans le badge d'icônes de notification si et uniquement s'il était supérieur à zéro lorsque la notification a été créée. P> Similaire, le badge de numéros ne sera pas masqué (le numéro sera, que vous Vous définissez le numéro sur un chiffre inférieur à 1. Définir peut-être la notification avant de ré-montrer que cela pourrait le corriger. P> P>
Vous devez garder une trace du compte. L'incrément que vous essayez de jouer à notif.Number ne fonctionne pas, car cet état n'est pas disponible (c'est-à-dire Notif.number est toujours 0, puis vous l'incrémentez à 1). Gardez une trace du nombre quelque part dans votre application (préférences partagées, peut-être), et d'incrémenter et de le stocker là-bas, alors lorsque vous créez la notification, définissez
notif.number = myStoredValueForWhatShouldShowInNumber;
Comment réinitialiser le numéro lorsque la nouvelle notification est livrée avec une carte de notification différente
Vous devez garder une trace du compte. Vous pouvez étendre la classe d'application: et vous devez modifier l'ondeceive: p> et vous pouvez réinitialiser le compte lorsque l'utilisateur s'ouvrira La notification: p>
Jolie ridicule Comment le framework n'a pas de simple, getNotifications (INT id) code> appelez simplement vérifier cela ...
Malheureusement, si la demande a été tuée, le comptoir réinitialise ... devrait probablement sauvegarder sur SharedPreference pour la persistance
Comment pouvez-vous savoir quand la notification a été ouverte pour réinitialiser le comptoir ...?
@Micror, vous devez mettre la classe d'activité dans le cadre de votre intention de votre en PLANDINTENT code>. Stackoverflow.com/Questtions/7184963 / ...
Donc, ce que vous dites, c'est que dans l'Oncreate () ou quelque chose de l'activité, je devrais réinitialiser le comptoir? J'espérais qu'il y avait un moyen de le faire, pas de cette façon.