2012-07-03 18 views
8

He creado un servicio que envía ubicación en tierra de nuevo ahora¿El servicio de acceso en ejecución llama a su método?

Quiero crear un métodoen mi ACTIVIDAD que acceder a la instancia actualmente en ejecución del servicio y a llamar a su método

Say servicio de localización que tiene Methode

SendLocation() 
{ 
/// to do 
} 

Ahora en Actividad A:

no se recomienda servicio s = getCurrentRunningServiceInstance // algo como esto

y llamar a su método

s.SendLocation(); 

Respuesta

1

método de llamada de servicio, en lugar de esto, siga los pasos a continuación

1) cree un BroadcastReciever en Ac tividad.

2) de servicio cuando cambió de ubicación, enviar un intento de difusión con extras ubicación,

3) escucha a partir del receptor de la actividad y la actualización activiy en consecuencia.

+3

hola, ¿es posible llamar al método de cualquier servicio en ejecución? –

4

No puede llamar directamente a un método en un Service. Lo que necesita hacer es bind al Service.

En su Service, anule onBind() y haga que devuelva un IBinder válido y luego utilícelo como cliente/servidor.

Consulte los documentos para Services particularmente con respecto a Creating a Bound Service y también los documentos para Bound Services.

Cuestiones relacionadas