基本的に15分ごとに実行され、GPSプロバイダーでrequestLocationUpdatesを実行するサービスをセットアップしました。サービスにリスナーを設定しています。
ここで、メソッドonStartCommandが終了したら、stopSelfを実行します。これは、サービスをさらに15分後に終了させたいので、AlarmManagerを使用して再度起動します。
ただし、位置情報とともにlistenイベントが到着する前に、サービスは終了します。
私がstopSelfをコメントアウトすると、その場所が受信されます。
場所が受信されるまでサービスを待機させるにはどうすればよいですか。onLocationChangedのイベントにstopSelfを配置することを考えましたが、常に起動するとは限りません。
もう1つの方法は、スレッドスリープを実装することでしたが、これはコードの臭いのように感じます。