Cancelación del registro de C2DM al desinstalar la aplicación [duplicado]

Posible duplicado:
¿Es posible detectar la desinstalación de una aplicación de Android?

I am implementing c2dm service in an app in order to be able to send message to all the users. In google's c2dm documentation, it is quite well explained how to register the app to the service, and how to unregister it. But how I am supposed to unregister from c2dm, when I can not get any event when the application is uninstalled?

preguntado el 08 de noviembre de 11 a las 15:11

2 Respuestas

La documentación dice:

Depending on the implementation of the application, it may offer users the option of unregistering to receive messages. Uninstalling the application also has the effect of unregistering.

I'd say this means that the device will take care of this, and you don't have to worry about it..

edit: I was wrong. The device doesn't take care of this.. See: Android C2DM: mensaje duplicado en el mismo dispositivo y aplicación

Seems like the solution is to include (a part of) your registration id in the push message, and do a check on your device

contestado el 23 de mayo de 17 a las 14:05

"Uninstalling the application also has the effect of unregistering.". I do not agree with this. Because when I re-install the application, all notification are doubled. And if I uninstall/re-install again, notifications are then tripled.. So you still have to unregister. - AlexMok

Where in the documentation does it say this? In the C2DM docs, it says specifically: "The registration ID lasts until the application explicitly unregisters itself, or until Google refreshes the registration ID for your application." code.google.com/android/c2dm - Thomas Dignan

El servicio Google C2DM funciona en modo pasivo cuando se trata de detectar aplicaciones desinstaladas.

La primera notificación push después de desinstalar su aplicación (¡sin cancelar el registro de C2DM!) NO devolverá ningún error en respuesta. Sin embargo, la segunda notificación de inserción devolverá un código de error de "registro no válido" o "no registrado" donde puede darse cuenta de que la aplicación se desinstaló.

La razón es que los servidores C2DM devuelven el código de respuesta inmediatamente y solo entonces intentan presionar al cliente. Cuando el cliente responde que se desinstaló una aplicación, se elimina de los servidores C2DM. El siguiente intento de inserción devolverá un código de error inmediatamente.

respondido 01 mar '12, 20:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.