2012-06-21 14 views
6

Tengo un servicio en segundo plano en el que quiero mostrar una notificación que permite al usuario detenerlo.Detener un servicio en segundo plano desde la notificación

En los documentos SDK de Android, dice que una actividad se utiliza normalmente para iniciar una actividad. Así que me pregunto si necesito para crear una actividad para detener el servicio o puedo parar directamente el servicio cuando el usuario selecciona la notificación,

Entonces, ¿cómo sería la intención de volver a llamar al servicio de detenerlo ..

Gracias,

+0

Quizás esta discusión previa sea útil: http://stackoverflow.com/questions/2621395/more-efficient-way-of-updating-ui-from-service-than-intents – Gene

Respuesta

7

Así que me pregunto si necesito para crear una actividad para detener el servicio o puedo parar directamente el servicio cuando el usuario selecciona la notificación,

No se puede detener directamente el servicio de un Notification. Puede iniciar el servicio, utilizando un Intent que tiene una cadena de acción o algo adicional o algo que el servicio ve en onStartCommand() y lo activa para llamar al stopSelf().

+0

Gracias funcionó para mí .. – Ahmed

+0

¿Puede ayudarme con un código de muestra sobre lo que dice? Estoy un poco confundido acerca de la respuesta que has explicado arriba. Gracias –

0

No puede iniciar un Acitivty desde un Servicio así como así. Lo que puede hacer es crear una devolución de llamada a una Actividad en el Servicio y permitir que la devolución de llamada inicie nuevas actividades. Pero tener una notificación significa que no tiene que pasar por el Servicio. Cuando se hace clic en la notificación, puede iniciar una actividad que se especifica en la intención que proporciona a la notificación. Es realmente muy simple.

Lea los documentos de referencia sobre notificaciones para ver ejemplos.

Cuestiones relacionadas