Les canaux de notification introduits à partir de la version Android O (API 26). Je peux en apprendre davantage à partir des liens suivants:
Des questions:
Si j'ai plusieurs numéros de notification, est-ce une bonne idée de créer des canaux de notification lorsque l'application démarre et de la conserver à ApplicationScope
?
public void addNotificationChannels(Context context) {
List<NotificationChannel> channels = new ArrayList<>();
channels.add("channel_1");
channels.add("channel_2");
.
.
channels.add("channel_7");
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.createNotificationChannels(channels);
}
Que se passera-t-il si j'essaie d'exécuter cette ligne new Notification.Builder(getApplicationContext(), PRIMARY_CHANNEL)
avant d'ajouter des canaux au gestionnaire de notifications
createNotificationChannel
avec le même identifiant que celui utilisé Auparavant, il ne sera pas recréé.Ce que je fais, c'est d'étendre la classe d'application ((n'oubliez pas de mettre à jour le manifeste de l'application avec le nom de la classe) et de créer les canaux de notification une fois dans la méthode onCreate. Cela garantit que les canaux de notification sont toujours créés lors de la création d'une notification.
IMHO c'est un gaspillage de cycles du processeur pour (essayer de) créer, encore et encore, les canaux de notification pour chaque notification.
Remarque: je note toujours la version de l'application de cette façon aussi, ce qui est très utile lorsque quelqu'un envoie un logcat.
Je pense qu'il y a deux manières sensées:
1. Créer tous les canaux dans la sous-classe Application,
2. Créez tous les canaux de votre activité principale, en commençant par l'application.