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.