Supongamos que tengo un código en el controlador onStart() de mi servicio para iniciar un hilo y hacer algunas cosas y luego llamar a stopSelf().Llamar a stopSelf() en el servicio mientras se ejecuta el hilo
stopSelf() se invoca antes de que termine el hilo. ¿Qué pasa exactamente?
He probado esto yo mismo y mi hilo continúa ejecutándose hasta que se termina. ¿Escucha Android la llamada stopSelf(), pero la pospone hasta que finalice el hilo?
@Override
public void onStart(Intent intent, int startid) {
new Thread(new Runnable() {
public void run() {
// TODO some long running operation
}
}).start();
stopSelf();
}
Por favor, publique un código ... – Kiril
incluso ese pequeño código de ayuda ... el orden de ejecución no se aplica claramente debido al multihilo, por lo que la respuesta aceptada indica: está "filtrando" un hilo + referencia al servicio. – Kiril
¿No debería utilizar 'onStartCommand' en lugar de' onStart' para iniciar subprocesos? –