¿Cómo funciona WhatsApp en Doze?

Casi todas las publicaciones que vi implican que WhatsApp no ​​usa GCM. En su lugar, utiliza dos enchufes para comunicarse mediante FunXMPP.

Entonces, ¿cómo está activa la aplicación en Marshmallow incluso en modo Doze?

No recuerdo haber dado el permiso REQUEST_IGNORE_BATTERY_OPTIMIZATIONSa la Aplicación. Y sí, la aplicación no está en la lista blanca

Respuestas (1)

No tengo WhatsApp instalado, pero tuve una pregunta similar con Truacaller, así que intentaré explicar un poco cómo funciona y cómo obligué a Truecaller a hibernar.

En Android existen servicios que se pueden ejecutar mediante acciones (triggers). Cuando sucede algún evento, es decir. llamada telefónica o enchufado, este evento se enviará a todas las aplicaciones que usan el servicio de llamadas telefónicas, incluso si estas aplicaciones están hibernadas. Algunos servicios son críticos y no se pueden cerrar cuando el sistema entra en suspensión. La aplicación puede evitar quedarse dormida informando para usar estos servicios. Tampoco le di permiso a Truecaller pero estuvo activo todo el tiempo. Incluso lo forcé a hibernar con la versión completa de Greenify (con el módulo Xposed) pero estaba activo de todos modos.

Lo que hice con Truecaller fue instalar DisableService (se necesita raíz) y vi qué servicios usaba esta aplicación. No sabía qué servicio debía deshabilitar, así que deshabilité todos. La aplicación, por supuesto, se colgó cuando traté de abrirla. Así que estaba habilitando repetidamente algunos servicios y observando qué funciones se estaban restaurando. Con eso encontré servicios que hicieron a Truecaller invencible. Ahora Truecaller funciona solo cuando necesito verificar un número desconocido.

La aplicación sugerida en la respuesta no existe en Play Store.
siempre puede encontrar la aplicación en mercados de apk alternativos buscando en Google el nombre del paquete: cn.wq.disableservice pero la última versión disponible es bastante antigua, así que intente encontrar una alternativa más reciente