2016-10-26 1 views
0

これはバッテリーを大量に消費しますが、アプリがフォアグラウンドにない場合でもデバイスの位置を追跡できるようにしたいと考えています。ロケーションマネージャを最適化する方法は何ですか?LocationManagerを使用して最適化するヒントは何ですか?

毎回onLocationChangedがトリガされ、APIリクエストが行われます。 APIリクエストを送信できるときにタイマーをオンにすることで、バッテリーを大幅に改善できますか?

アプリがフォアグラウンドにないときに低電力のgpsモードを使用する方法はありますか?

答えて

0

Google Playサービスを使用してGPSまたは粗い位置情報提供者のいずれかから位置情報を取得する場合は、それらの位置情報更新の頻度を設定できます。あなたがする必要があるのは、あなたのアプリがバックグラウンドに置かれたことを検知して、場所の更新頻度が低いことをサービスに通知することです。

また、アプリが戻ってくると、さらに頻繁な位置情報の更新を受け取るように更新されます。

あなたはまた、ネットワークの場所がより安価なバッテリー賢明ですが、それほど正確ではない、あなたはバックグラウンドでネットワークで作業し、フォアグラウンドでgpsで作業することができます。

融合ロケーションプロバイダのlocationRequestオブジェクトを使用して、これらの設定を構成できます。

https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest

https://developer.android.com/training/location/receive-location-updates.html#updates

関連する問題