Eliminar el retraso de las notificaciones en un teléfono Xiaomi
En un teléfono Xiaomi con HyperOS, las notificaciones de algunas aplicaciones llegan con varios minutos de retraso, a veces solo al desbloquear la pantalla. El sistema mantiene una lista blanca de aplicaciones autorizadas a recibir las notificaciones sin demora. Esa lista viene rellenada con aplicaciones distribuidas en China, y las aplicaciones de mensajería instaladas desde otro país no figuran en ella.
Es también el caso de los servicios de Google Play (com.google.android.gms), que retransmiten las notificaciones push de la mayoría de las aplicaciones de mensajería. Cuando se instalan después, no se añaden a esa lista blanca: la instalación no la modifica.
Requisitos previos
Sección titulada «Requisitos previos»- Un teléfono Xiaomi con HyperOS.
- Un puesto de trabajo Linux y un cable USB.
- Permisos de root en el puesto de trabajo para instalar un paquete.
1. Activar las opciones de desarrollador en el teléfono
Sección titulada «1. Activar las opciones de desarrollador en el teléfono»Las capturas de esta nota provienen de un teléfono cuya interfaz está en inglés, con Xiaomi HyperOS 3.0.307.0. Si su teléfono está en otro idioma, las etiquetas citadas son las que debe traducir.
Deslice la pantalla de arriba abajo para abrir el centro de control y pulse el acceso directo de los ajustes: el botón redondo marcado con una tuerca hexagonal, en el extremo derecho de la tercera fila de accesos directos.

En Settings, pulse My device, la segunda línea del primer bloque.

En la página que muestra Xiaomi HyperOS y su número de versión, pulse siete veces seguidas la línea OS version. Un mensaje confirma la activación, o indica que el modo desarrollador ya está activo, como en la captura siguiente.

Resultado esperado: un mensaje confirma que el modo desarrollador está activado.
2. Activar la depuración USB
Sección titulada «2. Activar la depuración USB»Vuelva a Settings y desplácese hasta la última línea, Additional settings.

En esa página, la línea Developer options se encuentra debajo del bloque de las cuentas.

Active el interruptor USB debugging, en la primera línea.

En el teléfono que ha servido para esta nota, el interruptor USB debugging (Security settings) también está activado. Si el comando de escritura del paso 6 falla, pruebe a activarlo.
Conecte después el teléfono al puesto de trabajo. El teléfono muestra una solicitud de autorización para la clave del puesto: acéptela, marcando la opción que la hace permanente si piensa repetir la operación más adelante.
Resultado esperado: el teléfono muestra la notificación que indica que la depuración USB está activa.
3. Instalar adb en el puesto de trabajo
Sección titulada «3. Instalar adb en el puesto de trabajo»En una distribución derivada de Debian o de Ubuntu, basta con un solo paquete:
apt install adbResultado esperado: el comando adb version responde.
4. Comprobar que el teléfono es reconocido
Sección titulada «4. Comprobar que el teléfono es reconocido»adb devicesList of devices attachedxxxxxxxx deviceEl número de serie está oculto aquí.
Si la segunda columna indica unauthorized, la autorización no se ha aceptado en el teléfono. Si indica offline, desconecte y vuelva a conectar el cable.
Resultado esperado: el teléfono aparece en la lista con la mención device.
5. Consultar la lista blanca actual
Sección titulada «5. Consultar la lista blanca actual»adb shell settings get system MILLET_NO_RESTRICT_APPcom.whatsapp, org.thoughtcrime.securesms, [...], org.telegram.messengerSeleccione esa línea en su terminal y péguela en un editor de texto, para poder añadirle la aplicación que falta.
6. Añadir a la lista la aplicación que falta
Sección titulada «6. Añadir a la lista la aplicación que falta»El comando siguiente sustituye la lista entera: hay que volver a escribir la lista de origen y añadir al final solo la aplicación que falta (com.google.android.gms).
adb shell settings put system MILLET_NO_RESTRICT_APP "com.whatsapp, org.thoughtcrime.securesms, [...], org.telegram.messenger, com.google.android.gms"7. Comprobar
Sección titulada «7. Comprobar»Vuelva a leer la lista:
adb shell settings get system MILLET_NO_RESTRICT_APPcom.whatsapp, org.thoughtcrime.securesms, [...], org.telegram.messenger, com.google.android.gmsResultado esperado: la notificación llega sin esperar al desbloqueo de la pantalla.
