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ソース コードstopSelfによると、メッセージ (呼び出し)がなくなると、IntentService は停止します。したがって、長時間実行したい場合Service(これは に適していると思いますSensorEventListener)、通常の を使用する必要がありますService

于 2013-07-05T02:00:04.003 に答える