从线程中停止Android服务

use*_*795 5 multithreading android android-service

我有一个服务,在此期间启动一个线程onCreate().该线程正在监视硬件(IOIO),并在断开连接后结束,因此基本上是无限循环.从Activity停止服务工作正常,线程也停止(结束onDestory()).

我的问题是,如果线程死(比如因为异常),就可以停止产生它的服务.

我尝试stopSelf()在线程代码中使用但服务不会停止.

谢谢你的第一篇文章,所以请原谅我应该遵循的任何遗漏的约定.

Kur*_*aum 4

我想你在这里可能想要使用Handler。本质上,为您的 Sevrice 创建一个处理程序(确保它是最终的,以便您可以在所有线程中使用)。然后在另一个线程中调用:

myServiceHandler.post(new Runnable(){
  public void run(){
    stopSelf();
  }
}
Run Code Online (Sandbox Code Playgroud)