J'ai un son mp3 personnalisé que j'utilise pour mes notifications. Il fonctionne bien sur tous les appareils en dessous de l'API 26. J'ai essayé de définir le son sur le canal de notification également, mais cela ne fonctionne toujours pas. Il joue le son par défaut.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, channelId)
.setAutoCancel(true)
.setSmallIcon(R.drawable.icon_push)
.setColor(ContextCompat.getColor(this, R.color.green))
.setContentTitle(title)
.setSound(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notification))
.setDefaults(Notification.DEFAULT_VIBRATE)
.setStyle(new NotificationCompat.BigTextStyle().bigText(message))
.setContentText(message);
Notification notification = builder.build();
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_DEFAULT);
AudioAttributes audioAttributes = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE)
.build();
channel.setSound(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notification), audioAttributes);
notificationManager.createNotificationChannel(channel);
}
notificationManager.notify(1, notification);
0 votes
Avez-vous rendu le son de notification par défaut muet ? Je suis également confronté au même problème. Je ne veux pas jouer de son sur la notification avec NotificationManager.IMPORTANCE_MAX. Pouvez-vous m'aider à résoudre ce problème ?
0 votes
La seule façon dont j'ai réussi à le faire fonctionner était avec RingtoneManager, mais je l'ai supprimé de mon code. Avec RingtoneManager, les utilisateurs ne peuvent pas couper les notifications. Mon application utilise le son par défaut sur Android 8. Je ne sais toujours pas comment faire fonctionner un son personnalisé avec les canaux.