Cómo detener un servicio de Android desde un hilo
Tengo un servicio que comienza un hilo de rosca durante onCreate()
. El hilo es monitoreo del hardware (IOIO) y finalizará una vez que esté desconectado, de modo que es un bucle infinitamente infinitamente. Detener el servicio de una actividad funciona bien y el subproceso también se detiene (finalizado en onDestory()
).
Mi problema es que si el hilo muere (por ejemplo, debido a una excepción) es posible detener el servicio que lo generó.
- Después de ASyncTask.execute () do x () de Activity
- Nuevo Tema (tarea) .start () VS ThreadPoolExecutor.submit (tarea) en Android
- Práctica recomendada para gestionar la llamada de error HTTP
- Cordova plugin bloqueo de hilo
- Acceso a multithread Android SQlite
He intentado usar stopSelf()
de dentro del código del hilo pero el servicio no para.
Gracias ps mi primer post así que por favor disculpe cualquier convención que deba haber seguido.
- Registrar un receptor de difusión de un servicio en un nuevo hilo
- Otto eventbus para android se comporta de forma diferente en la versión de lanzamiento
- ¿Por qué la mayoría de los marcos de la interfaz de usuario se subproceso único?
- Android: ejecuta un hilo repetidamente dentro de un temporizador
- Diferencia entre AsyncTask y Thread / Runnable
- Contabilización del mensaje Toast de un hilo
- Android SQLite Query, insertar, actualizar, eliminar, siempre tiene que estar en el hilo de fondo?
- Threading de ContentProvider
Creo que lo que quieres aquí puede ser usar un Handler . Eseentially, crear un controlador para su Sevrice (asegúrese de que es final para que pueda utilizar a través de todos los hilos). Luego en su otro hilo, llame a:
myServiceHandler.post(new Runnable(){ public void run(){ stopSelf(); } }
¿Qué hay de almacenar la Intención del servicio y detenerlo directamente? En el servicio:
private Intent thisIntent; public int onStartCommand (Intent intent, int flags, int startId) { thisIntent = intent;
En el hilo dentro del servicio:
stopService(thisIntent);
- Compruebe el texto en la posición en el reciclador
- ¿Cómo puedo activar / desactivar "Mostrar notificación" mediante programación en android