La vinculación al servicio que ya fue iniciada por BroadcastReceiver crea una nueva instancia de servicio
Mi aplicación utiliza un servicio que se inicia por un BroadcastReceiver BOOT_COMPLETE como este:
public void onReceive(Context context, Intent intent) { context.startService(new Intent(context, MyService.class)); }
Si en una actividad de mi aplicación intento vincularme a este servicio de la siguiente manera:
- El sistema Android eliminó mi servicio cuando borro todas las aplicaciones recientes
- Excepción de ventana filtrada aunque no se utilice ningún servicio
- ¿Cómo actualizar los datos enviados a un servicio utilizando la intención cuando el servicio es iniciado por el administrador de alarmas?
- Obtener la lista de procesos en ejecución y eliminar sus servicios de fondo
- Conectar la aplicación android a asp.net mvc back-end
getApplicationContext().bindService(new Intent(getApplicationContext(), MyService.class), _serviceConnection, Context.BIND_AUTO_CREATE);
se crea una nueva instancia del servicio, aunque la primera instancia (creada por BroadcastReceiver) continúa ejecutándose. He registrado los identificadores de proceso en el método onCreate () del servicio y el primer servicio se ejecuta en un proceso diferente de la actividad, la segunda instancia se crea en el mismo proceso que la actividad. Traté de establecer un android: argumento de proceso en el elemento de servicio del manifiesto (ambos con leading: and without), pero el resultado permanece igual.
¿Cómo puedo enlazar el servicio que se ejecuta en un proceso diferente en lugar de crear una nueva instancia en el proceso en el que se ejecuta la actividad?
- BindService () devuelve false pero unbindService () necesita ser llamado?
- Android: El botón de superposición onClick nunca se llama
- Cómo determinar si la aplicación se ejecuta desde el servicio
- Android escucha los mensajes del socket del servidor
- Servicio y un BroadCastReceiver
- ¿Puedo iniciar un servicio sin actividad o receptor?
- Android: Cómo enviar la solicitud http a través del servicio cada 10 segundos
- Enviar datos al servidor desde el dispositivo Android cuando la aplicación llega al fondo
Puedo asegurarle, no lo hace. Sólo una instancia de un componente de servicio en particular está siempre activa a la vez, no importa cuántas veces inicie o se vincule a ella. Además, el servicio sólo se ejecutará en un proceso. No hay manera de que se ejecute en diferentes procesos en diferentes momentos.
- Cómo hacer la sincronización bidireccional entre Android SQLite y SQL Server
- La orientación del paisaje bloqueado en la actividad tablet + se inició cuando el dispositivo en vertical = rotación visible en la pantalla