0

アプリケーションのライフサイクルまで5分ごとに場所を更新したいと思います。場所を更新する方法を知っています。私が知りたいのは、requestForLocationがブロッキング呼び出しであるかどうかです。

これはServiceクラスで実行できますが、Serviceはメインスレッドでのみ実行され、システムはいつでもServiceを停止できます。私はこれが起こらないようにしたい。場所の更新は、アプリケーションがメモリに保存されるまで機能するはずです。アプリケーション自体が強制終了されると、明らかにサービスも強制終了されます。

これを実装するためのアプローチはどうあるべきですか?

4

2 に答える 2

2

私が知りたいのは、requestForLocation がブロッキング コールであるかどうかです。

Android にはrequestForLocation()orという名前のメソッドはありません。requestForLocationUpdates()つまりrequestLocationUpdates()、これはブロッキング コールではありません。

私はこれが起こることを望んでいません。

ユーザーと OS は、必要に応じていつでもサービスを終了する権利を有します。この場合、提案されたプランは RAM を無駄に浪費するため、これは良いことです。

これを実装するためのアプローチは何ですか?

AlarmManager私の に似たサービスを使用してLocationPoller、位置データを取得し、それを使って何かを行い、次の期間が来るまでシャットダウンすることができます。

また、「ポーリングしない」オプションを含め、ユーザーがポーリング期間を構成できるようにしてください。

于 2011-08-16T12:34:26.360 に答える