Android - Comment mettre à jour le numéro de notification
Salut je veux montrer toute la notification d'une vue unique .. et souhaitez mettre à jour le nombre de notifications dans la barre d'état ... sa mise à jour toutes les infos, mais en montrant numéro 1. s'il vous plaît me dire 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);
}
OriginalL'auteur DkPathak | 2012-09-23
Vous devez vous connecter pour publier un commentaire.
Vous devez garder une trace du comte. Vous pouvez étendre la classe d'Application:
Et vous devez modifier la onReceive:
Et vous pouvez réinitialiser le compteur lorsqu'à l'utilisateur d'ouvrir la notification:
getNotifications(int id)
appelez simplement vérifier ce...Malheureusement, si la demande a été tué, le compteur est remis à zéro... Probablement devrait enregistrer pour SharedPreference pour la persistance
Comment pouvez-vous savoir lorsque la notification a été ouverte pour réinitialiser le compteur...?
vous avez besoin de mettre l'Activité en classe dans le cadre de votre Intention dans votre
PendingIntent
. stackoverflow.com/questions/7184963/...Donc, ce que vous dites, c'est que dans le onCreate() ou quelque chose de l'Activité, je dois remettre le compteur à zéro? J'espérais qu'il y a un moyen de le faire pas de cette façon.
OriginalL'auteur Andrea Motto
C'est mon code, et ça fonctionne. Je ne l'ai testé que sur les anciennes versions d'Android tu. Je soupçonne que sur les versions plus récentes de la "le nombre" le badge a été invisible, mais je n'ai pas eu la chance de le tester.
Il est aussi facile à mettre à jour la notification plus tard: vous avez juste à appeler la méthode de retour avec de nouvelles valeurs. Le numéro sera affiché dans l'icône de notification de l'insigne si et seulement si elle est supérieure à zéro lorsque la notification a été créé.
De même, le nombre de badge ne sera pas masqué (le numéro, tu) si vous définissez le nombre à un nombre inférieur à 1. Peut-être que la compensation de la notification avant de re-montrer pu le résoudre.
OriginalL'auteur rock3r
Vous devez garder une trace du comte. L'incrément que vous êtes en train d'effectuer sur notif.le numéro ne fonctionne pas, étant donné que l'état n'est pas disponible (c'est à dire notif.nombre est toujours égal à 0, vous l'incrémenter de 1). Garder une trace du nombre quelque part dans votre application(partagé préférences, peut-être), et d'incrémentation et de les stocker, puis lorsque vous générez la notification, ensemble
Donner que d'essayer.
OriginalL'auteur Travis