Je développe et utilise une application Android pour envoyer des notifications à l'utilisateur à l'aide du service de messagerie Firebase Cloud. Afin de rendre l'utilisateur plus conscient des notifications, je souhaite afficher le nombre de notifications sur l'icône de lancement de l'application. Existe-t-il un moyen de le faire? Je ne souhaite pas créer de widget. J'ai essayé la bibliothèque ShortcutBadger Lien pour la bibliothèque
Mais le problème avec cette bibliothèque est que cela ne fonctionne pas lorsque l'application est en arrière-plan ou tuée?
J'ai utilisé la méthode de mise à jour du nombre dans le BroadcastReceiver de mon application
Quelqu'un peut-il suggérer comment l'utiliser ou une meilleure façon de le faire?
Android O introduit les badges de notification:
https://developer.Android.com/preview/features/notification-badges.html
Ils affichent le nombre de notifications en appuyant longuement sur l'icône. Il faudra un certain temps avant que O ait une adoption généralisée, cependant.
Si vous avez votre propre FirebaseMessagingService, vous pouvez définir le nombre de vos badges dans onCreate.
public class MyFirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService {
@Override
public void onCreate() {
super.onCreate();
ShortcutBadger.applyCount(MyFirebaseMessagingService.this, 1);
}
}
onCreate sera déclenché lorsque la notification arrivera. J'espère que ça t'aide.
Donc, afin de prendre des mesures dans l'application quand une notification est reçue indépendamment de l'état de l'application, nous devons alors envoyer des notifications de type de données. La méthode onMessageReceived()
de FireabaseMessagingService
est toujours déclenchée quel que soit l'état de l'application si l'utilisateur reçoit un type de données de notification. Sinon, si l'objet de notification contient également un champ de notification, la barre d'état système gère elle-même le nombre de notifications dans le périphérique et l'application n'a pas de suivi. il.