web-dev-qa-db-fra.com

Android: Comment créer une notification "En cours"?

enter image description here

Bonjour, Comment puis-je créer la notification permanente comme la première pour l'indicateur de batterie?

49
Rohith Nandakumar

Attribuer Notification.FLAG_ONGOING_EVENT drapeau à votre Notification.

Exemple de code:

yourNotification.flags = Notification.FLAG_ONGOING_EVENT;
// Notify...

Si vous n'êtes pas familier avec l'API Notification, lisez Création de notifications de barre d'état sur Android.

87
Wroclai

Si vous utilisez NotificationCompat.Builder , vous pouvez utiliser :

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
mBuilder.setOngoing(true); //this will make ongoing notification
81
Mahmoud Farahat

Il est en fait recommandé d'utiliser des indicateurs de bits ou de notification, plutôt que de définir les indicateurs directement. Cela vous permet de définir plusieurs drapeaux à la fois.

Par exemple:

notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;

définira les deux drapeaux en même temps, alors que:

notification.flags = Notification.FLAG_ONGOING_EVENT;
notification.flags = Notification.FLAG_SHOW_LIGHTS;

ne définira que l'indicateur FLAG_SHOW_LIGHTS.

49
joebobfrank
public static final int FLAG_ONGOING_EVENT

Depuis: API niveau 1
Bit à oraliser au niveau du bit dans le champ des indicateurs qui doit être défini si cette notification fait référence à quelque chose qui est en cours, comme un appel téléphonique.

public static final int FLAG_FOREGROUND_SERVICE

Depuis: Bit de niveau 5 de l'API à oraliser au niveau du bit dans le champ des indicateurs qui doit être défini si cette notification représente un service en cours d'exécution.

4
Aleadam