Android O - Notification des Canaux de Changer de Modèle de Vibration ou le Type de Son
Avec Android O nous obtenons le "Notification Canaux".
Autant je comprends que cela signifie que l'utilisateur ne pouvez pas définir de la de notification de ton ou d'autres paramètres de Notification l'intérieur de l'APPLICATION plus .
L'utilisateur a besoin pour aller au "Notification des Canaux de Réglage" et de modifier la ton ou vibration etc. ici parce que toutes les méthodes de la NotificationBuilder comme setSound se sont ignorés.
Donc, il est vraiment PAS façon de changer le ton silence via code?
Ou de changer le modèle de vibration via le code?
Par exemple à l'utilisateur la possibilité de mettre de la modèle de vibration dans mon application.
Ou il peut choisir des sons du type d'alarme au lieu de le type de notification.
Tout cela n'est plus possible?
Est-ce vrai ou est-il possible de faire cela?
- J'ai eu le même problème lorsque je veux mettre à jour canal de notification sonore.<br/> Et puis j'ai trouvé une solution pour la notification de mise à jour de canal sonore uniquement Grâce à Dieu!!!<br/><br/> j'ai créer Github de démonstration pour la mise à jour de son différent dans un seul canal de notification. veuillez consulter ce lien => https://github.com/TejasTrivedi1996/NotificationChannels
- Voir aussi stackoverflow.com/questions/49605594/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez toujours offrir le bruit et les vibrations de la personnalisation de votre application, mais il nécessite une approche différente. En bref, l'idée est de jouer des sons et des vibrations manuellement dans Android O au lieu d'utiliser le canal de notification (c'est plus facile qu'il n'y paraît).
C'est la façon dont je l'ai fait:
SoundService.class est l'endroit où je joue le son avec MediaPlayer:
Recommandations
setSound(null,null)
) et un nul vibration (setVibrationPattern(null)
) et de l'expliquer dans la description du canal que c'est le réglage recommandé pour éviter les conflits avec l'application de personnalisation.Premier plan de notification
De départ Android O, services a commencé à partir de l'arrière-plan doit être lancé en premier plan de services. Cela signifie SoundService a besoin d'un premier plan de notification. Vous avez quelques options pour cela:
Créer un joli premier plan de notification avec un bouton qui dit "Arrêtez la lecture", de sorte que l'utilisateur peut arrêter le son, sans retrait de la notification que tout a commencé.
Créer une simple notification et de l'envoyer à un handicapé de canal (vous pouvez créer des canaux désactivés si vous créez avec IMPORTANCE_NONE). Ce faisant, le système par défaut 'Application est en cours d'exécution en arrière-plan" notification apparaîtra à la place de votre premier plan de notification, mais les utilisateurs peuvent masquer cette notification de la barre d'état si elles le veulent.
MODIFIER: dans Android 8.1, il semble que la création d'une désactivé canal avec IMPORTANCE_NONE n'est pas utile, car le canal est activé automatiquement lorsque vous envoyer une notification. Il peut être préférable de le créer avec IMPORTANCE_LOW depuis le début, et permet aux utilisateurs de modifier l'importance s'ils le veulent.
Pourrait aider dans votre cas. Si vous avez une notification s'affiche, vous pouvez désactiver le son lors de la mise à jour de cette notification par la mise en
.setOnlyAlertOnce(true)
.Cette solution ne fonctionne que lorsque la mise à jour de la notification.
C'est exact, une fois qu'un canal est créé, vous ne pouvez pas apporter des modifications à elle.
https://developer.android.com/preview/features/notification-channels.html
Ce que vous avez à faire supprimer le canal et en créer un nouveau avec un autre identifiant
Pour moi la bonne façon pour Android >= 8.0 est de cacher son/vibration options et rediriger l'utilisateur vers votre application paramètres de notification en utilisant ceci:
notification category
paramètres ci-dessus orio?Utiliser
setSound()
àNotificationChannel
et le point à un fichier audio contenant un peu court de silence, peut-être.Utiliser
setVibrationPattern()
àNotificationChannel
.Ce n'est pas une bonne idée de jouer le son manuellement. La meilleure approche serait d'avoir deux (ou plus) des canaux - un pour chaque bruit/vibration que vous souhaitez jouer.
Dans le code, vous pouvez décider de canal à utiliser selon le son que vous voulez jouer.
Voici mon code où je joue le son de notification par défaut ou un son personnalisé en fonction du client de paramètres. Le code prend en charge les dispositifs fonctionnant sous Android avant API 26: