1

我对 Android 中的 IntentService 有疑问。我将自己的服务定义如下:

public class ABC extends IntentService implements SensorEventListener {

  @Override
  protected void onHandleIntent(Intent intent) { }

  @Override
  public void onSensorChanged(SensorEvent event) { }
}

现在,如果我从其他活动启动服务,onHandleIntent()则会调用。文档说它启动了一个工作线程来处理请求。但是,当onSensorChanged()调用方法时,哪个线程将执行onSensorChanged()方法中定义的代码。会是工作线程还是主应用程序线程???

4

1 回答 1

3

根据IntentService 源代码,当 IntentService 不再有任何消息(stopSelf调用)时,它们会自行停止。因此,如果您想要长时间运行Service(我认为这适合您SensorEventListenerService.

于 2013-07-05T02:00:04.003 回答