6

Estoy usando un servicio de intención para escuchar las actualizaciones de ubicación GPS para que se ejecute cuando el usuario abandone la actividad. El IS envía la ubicación en un mensaje al manejador de la actividad.Uso de IntentService para la escucha de ubicación, pero se llama a OnDesyy inmediatamente después de onHandleIntent

El problema es que cuando el usuario pulsa el botón "detener el seguimiento", la notificación de la barra de estado que dice "seguimiento ..." todavía está allí porque se creó en el servicio de intención. Por lo tanto, overrided onDestory() para que pueda llamar:

mNotificationManager.cancel(TRACKING); 

Pero el problema es que cuando implemente OnDestroy(), se llama inmediatamente después onHandleIntent. Si elimino mi sobrescritura en el código Destroy(), no se llamará de inmediato y se ejecutará correctamente, enviando las ubicaciones a la actividad que se mostrará en la pantalla.

¿Alguna idea de por qué se llama a onDestroy() inmediatamente si lo implemento pero no si no?

Estoy bastante confundido aquí.

Gracias todos,

Infinitifizz

Respuesta

9

Está bien que he lo arreglaron ahora, no debería haber estado usando un IntentService, que se utiliza un servicio en lugar y poner toda la funcionalidad en onStartCommand() y ahora Todo funciona.

todos sentimos por perder su tiempo: -/

Infinitifizz

+9

Sin desperdicio aquí, tal vez alguien comete el mismo error y encuentra una solución en su respuesta. – AndreasT

Cuestiones relacionadas