Androidのロケーションリスナーを使用したバックグラウンドサービス 質問する

Androidのロケーションリスナーを使用したバックグラウンドサービス 質問する

独自のプロセスで実行されるバックグラウンド サービスを作成しています。デバイスの場所が変更されたかどうかをリッスンできる必要があります。UI に通知する前に、移動距離などの基準を変更できる必要があります。

どうすれば同じことができるでしょうか? サービスと実装について少し知識がありますLocationListener。ネット上のチュートリアルがあればありがたいです。

とったバックリンクスタックオーバーフローから取得しましたが、ほとんど理解できませんでした。

ベストアンサー1

この回答を投稿するのが少し遅くなったことは承知していますが、現在地を取得するには、Google の fuse location provider サービスを使用する価値があると感じました。

この API の主な機能は次のとおりです。

1.シンプルなAPI:精度レベルと電力消費を選択できます。

2.すぐに利用可能:アプリが最新の最適な場所にすぐにアクセスできるようになります。

3.電力効率:最も効率的な方法を選択し、消費電力を抑えて位置情報を取得します。

4.汎用性:非常に正確な位置情報を必要とするフォアグラウンドでの使用から、電力への影響がほとんどない定期的な位置情報の更新を必要とするバックグラウンドでの使用まで、幅広いニーズに対応します。

位置情報の更新時にも柔軟性があります。アプリの起動時にのみ現在の位置情報が必要な場合は、getLastLocation(GoogleApiClient)メソッドを使用できます。

位置情報を継続的に更新したい場合は、requestLocationUpdates(GoogleApiClient,LocationRequest, LocationListener)

ヒューズの位置に関する非常に良いブログを見つけることができますここヒューズの位置に関するGoogleドキュメントも見つかりますここ

アップデート

開発者ドキュメントによると、Android O 以降ではバックグラウンドの場所に新たな制限が追加されました。

アプリがバックグラウンドで実行されている場合、位置情報システム サービスはアプリの新しい位置情報を 1 時間に数回のみ計算します。これは、アプリがより頻繁な位置情報の更新を要求している場合でも同様です。ただし、アプリがフォアグラウンドで実行されている場合、Android 7.1.1 (API レベル 25) と比較して位置情報のサンプリング レートに変化はありません。

おすすめ記事