8 votes

Retarder les notifications

Je cherche un moyen de retarder les notifications par application jusqu'à un seuil de temps spécifique.

Par exemple, je ne veux pas recevoir de notifications de gmail plus d'une fois par heure. Je ne veux pas recevoir de notifications de SMS plus d'une fois par minute.

Je sais qu'il y a des applications individuelles qui fournissent cela, mais je cherche quelque chose à l'échelle du système et personnalisable. Root est évidemment acceptable.

2voto

Requist Points 335

Flux de lumière le fera pour vous. Activez le son ou le vibreur pour les différentes applications et configurez-les dans Light Flow. L'option "trop de notifications" permet de sélectionner le nombre maximal de répétitions.
Le rootage n'est pas nécessaire, sauf sur certains téléphones pour modifier les notifications par LED.

L'application est capable d'ajuster pour toutes les notifications ou selon l'application : - le son et les volumes (absolus ou relatifs) - vibration activée/désactivée ou motifs - popups - activation de l'écran en cas de notification - mode veille basé sur l'heure ou NFC - couleurs / motifs des DEL ou flash de l'appareil photo - notifications répétées et limitation du débit

-3voto

Tomcat2 Points 1

Finalement, après de longues recherches sur Internet et des conseils courants comme la désactivation des optimisations de la batterie, des notifications adaptatives et de toutes ces fonctions qui n'ont pas aidé du tout, j'ai trouvé le forum XDA Developers où j'ai finalement trouvé la solution à ce problème.

Ce problème est causé par la fonctionnalité appelée "DOZE", qui est implémentée dans le noyau d'Android depuis Android 6.

https://developer.Android.com/training/monitoring-device-state/doze-standby

En gros, il s'agit d'essayer de préserver l'autonomie de la batterie du téléphone d'une manière très agressive qui met en veille toutes les applications et l'activité réseau jusqu'à ce que la fenêtre de maintenance se produise. La fenêtre de maintenance est une période très courte pendant laquelle tous les événements des applications en attente dans la file d'attente sont traités en une fois, puis toutes les applications sont remises en veille jusqu'à la prochaine fenêtre de maintenance.

Le problème est qu'à chaque nouvelle fenêtre de maintenance, les intervalles entre ces fenêtres augmentent chaque fois jusqu'à une longue limite. Ainsi, si vous n'avez pas touché votre téléphone pendant une longue période, par exemple une demi-heure, et que l'événement se produit, vous recevrez la notification dans la fenêtre de maintenance suivante, qui peut se situer quelques dizaines de minutes après cet instant.

Je ne sais pas comment Google peut agir comme si c'était OK. Ce n'est PAS le cas ! Pour moi, cela a causé de sérieux problèmes avec mon application de trading Forex qui n'affichait pas les alertes de prix au moment où l'événement se produisait mais 5, 15, 30 minutes ou même presque 1 heure plus tard ! ce qui n'est pas utile pour moi car l'opportunité du trade était déjà passée...

La solution est donc de désactiver le "DOZE" dans votre téléphone manuellement en utilisant les commandes ADB. Je l'ai fait et ça marche, maintenant j'ai des notifications instantanées. Malheureusement, cela doit être fait à chaque fois que le téléphone redémarre car il réactive lui-même le DOZE.

Voici une page avec plus de détails :

https://stackoverflow.com/questions/40204605/Android-completely-disabling-deviceidle-doze-in-Android-m

En gros, il suffit de lancer cette commande ADB : dumpsys deviceidle disable

Vous pouvez également placer l'application sur la liste blanche de Doze, mais je ne suis pas sûr que cela fonctionne. Lorsque j'ai affiché la liste, j'ai découvert que mon application de trading y figurait déjà. Je suppose qu'il n'utilise pas ces "messages FCM hautement prioritaires" décrits dans la description de DOZE pour forcer les notifications instantanément.

Si vous n'êtes pas familier avec ADB, voici quelques informations :

https://developer.Android.com/studio/command-line/adb

J'ai utilisé une application payante qui permet une connexion ADB locale depuis le téléphone directement, ainsi je peux désactiver DOZE après chaque redémarrage. Plus d'informations ici :

https://forum.xda-developers.com/t/say-hello-to-ladb-a-local-adb-shell-without-needing-Root-or-a-computer.4204855/

Il est très triste que cette fonctionnalité de base comme les notifications instantanées doivent être corrigées via l'interface de débogage du développeur par l'utilisateur au lieu de Google qui pourrait le faire dans le système d'exploitation lui-même... honte à Google....

Plus de forums sur ce sujet :

https://forum.xda-developers.com/t/psa-how-to-fix-the-notification-delay-or-non-receipt-issue-truly-pathetic-of-google-and-samsung.4276505/

https://forum.xda-developers.com/t/delayed-notification-problems-s21-ultra.4243105/page-5

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X