ユーザーの場所を頻繁に更新する必要があるアプリケーションがあり、場所の変更はアプリ内の多くのアクティビティに関連しています。そのため、LocationClient オブジェクトを管理し、更新をリッスンし、場所の変更をブロードキャストする LocationManager クラスを作成して、アクティビティが必要に応じて更新を処理できるようにします。
ただし、アクティビティを変更すると更新が停止するように見えるという問題が発生しています。アクティビティを変更すると、次のメッセージが表示されることに気付きました:
09-26 11:19:14.854: D/LocationManagerService(735): アプリケーションによって停止された場所の要求
その時点以降、私の LocationClient はそれ以上の更新を取得しなくなったようです。呼び出しremoveLocationUpdates()
てrequestLocationUpdates()
からリクエストを再開することはできますが、元のリクエストは機能しなくなります。
私の唯一の考えは、メインのアクティビティがユーザーの場所を表示する MapFragment (正確には SupportMapFragment) を使用するため、アクティビティを切り替えると、MapFragment が場所の更新を一時停止する呼び出しを行う可能性が高いということです。しかし、それは私の要求に影響を与えるべきではありません。
誰か洞察力がありますか?