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ó.

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.

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); 
  • ¿Cuándo debo usar cada uno de los diferentes tipos de mensajería de Android?
  • Actualizar interfaz de usuario mientras trabaja en el fondo
  • La forma más fácil de usar Picasso en la notificación (icono)
  • Android, Handler se está ejecutando en el hilo principal u otro hilo?
  • ¿Hilo principal haciendo demasiado trabajo debido a llamadas asincrónicas de Firebase?
  • ¿Comunicación Bluetooth en hilo o servicio en Android?
  • Android Instrumentación de Pruebas - UI Thread Issues
  • Quiero reproducir un audio. ¿Utilizo Thread, AsyncTask o Service?
  • Cómo iniciar una actividad de una clase de hilo en android?
  • Actualización de Android TextView en subprocesos y ejecución
  • Enrutado del reproductor multimedia de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.