Supprimer le retard des notifications sur un téléphone Xiaomi
Sur un téléphone Xiaomi sous HyperOS, les notifications de certaines applications arrivent avec plusieurs minutes de retard, parfois seulement au déverrouillage de l'écran. Le système garde une liste blanche d'applications autorisées à recevoir les notifications sans délai. Cette liste est préremplie avec des applications distribuées en Chine, et les messageries installées depuis un autre pays n'y figurent pas.
C'est aussi le cas des services Google Play (com.google.android.gms), qui relaient les notifications push de la plupart des messageries. Quand ils sont installés après coup, ils ne sont pas ajoutés à cette liste blanche : l'installation ne la modifie pas.
Prérequis
Section intitulée « Prérequis »- Un téléphone Xiaomi sous HyperOS.
- Un poste de travail Linux et un câble USB.
- Les droits root sur le poste de travail pour installer un paquet.
1. Activer les options pour les développeurs sur le téléphone
Section intitulée « 1. Activer les options pour les développeurs sur le téléphone »Les captures de ce mémo viennent d'un téléphone dont l'interface est en anglais, sous Xiaomi HyperOS 3.0.307.0. Si votre téléphone est en français, les libellés cités sont ceux à traduire.
Balayez l'écran du haut vers le bas pour ouvrir le centre de contrôle, puis appuyez sur le raccourci des réglages : la pastille ronde marquée d'un écrou hexagonal, à l'extrémité droite de la troisième rangée de raccourcis.

Dans Settings, appuyez sur My device, la deuxième ligne du premier bloc.

Sur la page qui affiche Xiaomi HyperOS et son numéro de version, appuyez sept fois de suite sur la ligne OS version. Un message confirme l'activation, ou signale que le mode développeur est déjà actif, comme sur la capture ci-dessous.

Résultat attendu : un message confirme que le mode développeur est activé.
2. Activer le débogage USB
Section intitulée « 2. Activer le débogage USB »Revenez dans Settings et faites défiler jusqu'à la dernière ligne, Additional settings.

Dans cette page, la ligne Developer options se trouve sous le bloc des comptes.

Activez l'interrupteur USB debugging, sur la première ligne.

Sur le téléphone qui a servi à ce mémo, l'interrupteur USB debugging (Security settings) est également activé. Si la commande d'écriture de l'étape 6 échoue, essayez de l'activer.
Branchez ensuite le téléphone au poste de travail. Le téléphone affiche une demande d'autorisation pour la clé du poste : acceptez-la, en cochant l'option qui la rend permanente si vous comptez recommencer plus tard.
Résultat attendu : le téléphone affiche la notification indiquant que le débogage USB est actif.
3. Installer adb sur le poste de travail
Section intitulée « 3. Installer adb sur le poste de travail »Sur une distribution dérivée de Debian ou d'Ubuntu, un seul paquet suffit :
apt install adbRésultat attendu : la commande adb version répond.
4. Vérifier que le téléphone est reconnu
Section intitulée « 4. Vérifier que le téléphone est reconnu »adb devicesList of devices attachedxxxxxxxx deviceLe numéro de série est masqué ici.
Si la deuxième colonne indique unauthorized, l'autorisation n'a pas été acceptée sur le téléphone. Si elle indique offline, débranchez et rebranchez le câble.
Résultat attendu : le téléphone est listé avec la mention device.
5. Relever la liste blanche actuelle
Section intitulée « 5. Relever la liste blanche actuelle »adb shell settings get system MILLET_NO_RESTRICT_APPcom.whatsapp, org.thoughtcrime.securesms, [...], org.telegram.messengerSélectionnez cette ligne dans votre terminal et collez-la dans un éditeur de texte pour vous permettre de rajouter l'application manquante.
6. Ajouter l'application manquante à la liste
Section intitulée « 6. Ajouter l'application manquante à la liste »La commande suivante remplace la liste entière : il faut donc réécrire la liste d'origine, puis ajouter juste l'application manquante (com.google.android.gms) en fin de liste.
adb shell settings put system MILLET_NO_RESTRICT_APP "com.whatsapp, org.thoughtcrime.securesms, [...], org.telegram.messenger, com.google.android.gms"7. Vérifier
Section intitulée « 7. Vérifier »Relisez la liste :
adb shell settings get system MILLET_NO_RESTRICT_APPcom.whatsapp, org.thoughtcrime.securesms, [...], org.telegram.messenger, com.google.android.gmsRésultat attendu : la notification arrive sans attendre le déverrouillage de l'écran.
