NotificationChannel regroupe en fait plusieurs notifications dans des canaux. En fait, il permet à l'utilisateur de mieux contrôler le comportement des notifications. Pour en savoir plus sur le canal de notification et sa mise en œuvre, consultez le site suivant Travailler avec le Canal de Notification | Avec Exemple
Le canal de notification n'est applicable que pour Android Oreo.
//Notification channel should only be created for devices running Android 26
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel notificationChannel = new NotificationChannel("unique_channel_id","channel_name",NotificationManager.IMPORTANCE_DEFAULT);
//Boolean value to set if lights are enabled for Notifications from this Channel
notificationChannel.enableLights(true);
//Boolean value to set if vibration is enabled for Notifications from this Channel
notificationChannel.enableVibration(true);
//Sets the color of Notification Light
notificationChannel.setLightColor(Color.GREEN);
//Set the vibration pattern for notifications. Pattern is in milliseconds with the format {delay,play,sleep,play,sleep...}
notificationChannel.setVibrationPattern(new long[]{500,500,500,500,500});
//Sets whether notifications from these Channel should be visible on Lockscreen or not
notificationChannel.setLockscreenVisibility( Notification.VISIBILITY_PUBLIC);
}
Notez que l'ID du canal passé au constructeur agit comme un identifiant unique pour ce canal de notification. Maintenant, créez la notification comme indiqué ci-dessous
// Creating the Channel
NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(notificationChannel);
Pour ajouter une notification à ce canal, il suffit de passer l'ID du canal comme indiqué ci-dessous.
//We pass the unique channel id as the second parameter in the constructor
NotificationCompat.Builder notificationCompatBuilder=new NotificationCompat.Builder(this,NOTIFICATION_CHANNEL_ID);
//Title for your notification
notificationCompatBuilder.setContentTitle("This is title");
//Subtext for your notification
notificationCompatBuilder.setContentText("This is subtext");
//Small Icon for your notificatiom
notificationCompatBuilder.setSmallIcon(R.id.icon);
//Large Icon for your notification
notificationCompatBuilder.setLargeIcon( BitmapFactory.decodeResource(getResources(),R.id.icon));
notificationManager.notify( NOTIFICATION_ID,notificationCompatBuilder.build());
0 votes
Poste connexe - NotificationCompat.Builder n'accepte pas le 2ème argument