¿Debería conectarse y desconectarse de Google Play Services en cada actividad?

Estoy escribiendo una aplicación que necesita un cliente de ubicación conectado en todas las actividades. ¿Cómo gestionar el estado del cliente?

Quiero llamar a mLocationClient.connect() sólo una vez para evitar molestias, y debería ser capaz de eliminar las actualizaciones de ubicación / desconectar cuando la aplicación se detiene.

¿Cómo puedo mantener el cliente de ubicación conectado en todas las actividades, suponiendo que he conectado a él en la pantalla de presentación Activity ?

Otra pregunta que surge aquí es, cuando reanudo la aplicación en pausa (no recreación), la aplicación no se iniciará con la pantalla de bienvenida. ¿Cómo puedo mantener la conexión en este caso?

Gracias por adelantado.

Lo que necesitas es un servicio vinculado : estos servicios solo están disponibles mientras un cliente (como una de tus actividades) está conectado a él. Esto le permite tener un estado compartido (un solo cliente de ubicación conectado) al mismo tiempo que asegura que se conecte / desconecte apropiadamente.

En esta situación, cualquier actividad consciente de la ubicación se enlazaría al servicio. Cuando la primera actividad (por ejemplo, la actividad de la pantalla de inicio) se enlaza al servicio, el servicio se iniciará y se conectará a Google Play Services. El Binder su servicio daría acceso a su LocationClient a cualquier actividad relacionada. A medida que se desplaza entre las actividades, cada uno se vinculará al servicio a su vez y ser capaz de obtener los datos de ubicación actual y cada uno de ellos a medida que se destruyen.

Cuando el usuario abandona su aplicación (es decir, se destruye la última actividad), el servicio se detendrá automáticamente, lo que le permitirá desconectarse de Google Play Services.

Siempre y cuando se vincule al servicio de cada actividad que necesita datos de ubicación, no importa qué actividad inicia el servicio inicialmente: el servicio sólo se conectaría si es necesario.

  • Multiple LocationClients está interfiriendo?
  • Actualizaciones de ubicación continua en segundo plano
  • Reconocimiento de actividad deja de recibir actualizaciones cuando el teléfono pasa al modo de espera (estado de apagado de la pantalla)
  • ¿Cuándo debo desconectarme de Google Play Services en mi aplicación de Android?
  • LocationClient requestUpdates onLocationChanged nunca llamado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.