Android: obtenir un identifiant unique de notification
J'ai une for
bloc qui ressemble à ceci:
for(int counter = 0; counter < sList.size(); counter++){
String s = sList.get(counter);
Notification notification = new NotificationCompat.Builder(this).setContentTitle("Title").setContentText(s).setSmallIcon(R.drawable.ic_launcher).setContentIntent(pendingIntent).build();
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(counter, notification);
}
Ce bloc est situé dans un service qui est déclenché par un alarmmanager. Donc, ce bloc peut très bien être exécuté une couple de fois avant que l'utilisateur voit les notifications.
Lorsque ce bloc est ré-exécuté lorsque quelque chose a été ajouté à la sList, il remplace l'actuel notifications, parce que l'ID de la notification sont les mêmes.
Comment puis-je empêcher que cela se produise? Comment puis-je obtenir un ID unique à chaque fois? Ou est-il peut-être possible d'éviter l'ID de l'ensemble de la partie, comme dire android c'est-a pour afficher la notification de toute façon, peu importe ce que l'ID est?
Merci d'avance!
source d'informationauteur Xander
Vous devez vous connecter pour publier un commentaire.
Je suis sûr que vous ne devriez pas avoir autant de notifications de l'utilisateur à la fois. Vous devez montrer une notification unique qui regroupe les infos sur le groupe d'événements comme par exemple Gmail client. Utilisation
Notification.Builder
à cette fin.Si vous avez encore besoin de beaucoup de statut la barre de notifications, vous devez enregistrer la dernière valeur de votre compteur quelque part et de les utiliser pour la boucle comme ceci:
Mais comme je l'ai dit, je pense que c'est une mauvaise solution qui conduit à une mauvaise expérience utilisateur de votre application.
Il obtient à l'heure actuelle du système. Alors je suis en train de lire uniquement les 4 derniers chiffres. Je l'utilise pour créer des id unique à chaque fois que la notification est affichée. La probabilité d'obtention d'un même ou de la réinitialisation de la notification de l'id sera évité.
vous pouvez simplement spécifier un id dans la notification du générateur.
Même id = mise à jour de la notification
différents id = nouvelle notification.
Aussi, deux applications peuvent utiliser le même id de notification, il va produire 2 différentes notifications sans problème. le système de look à la fois l'id & l'application d'où il vient.