1

location listenerを使用して位置情報の更新を受信する を登録しましたNETWORK_PROVIDERactivityがフォアグラウンドにある場合、リスナーは位置の更新を受信します。アプリを終了すると、しばらくすると位置情報の更新が停止します。これは少し奇妙です...アクティビティがスタック上にない場合でも、位置情報の更新を受信するはずではありませんか? アプリに戻ると、リスナーは再び位置情報の更新を受信し始めます。

それとも私は何か間違ったことをしていますか?アクティビティがアクティブでない (フォアグラウンドでもスタックでもない) 場合でも、位置情報の更新を受信するには、どのプログラミング モデルが推奨されますか?

(ペンディング インテントを使用して) 位置情報の更新を受信する方法は他にもありますが、GPS をオンにしないとそれらの方法はトリガーされません。

4

1 に答える 1

2

バックグラウンドでのアクティビティは最終的に破棄されます。一度停止すると、引き続き位置情報の更新を受信できるという保証はありません。Android のアクティビティは、このように使用することは想定されていません。

提案されているようにウェイクロックでサービスを使用できますが、デバイスを起動したままにすると、バッテリーがすぐに消耗します.

Reto Meier (IO 2011) によるこの講演をお勧めします。そこで彼は、新しい場所を持つためのさまざまな戦略について語っています。ここにコードがあります。

于 2012-07-22T16:25:19.377 に答える