私はAndroidの場所を使用するAndroidアプリを開発しています。私はそれが(GPSとネットワークプロバイダ)を行う2つの方法であることを知っています。私はこの話題についてたくさん読んだことがあるが、まだ疑問がある。私が一部の会社のディレクターであると仮定し、私がいつでも自分の労働者がどこにほしいかを知りたいと思います。どの更新期間がUpdateLocationに入れるのが最適なのか教えてください。最高ののは、秒に0を、メーターに0を入れたときですが、それはバッテリーにとっては本当に悪いことです。しかし、私は可能な限りバッテリーを節約したい。 あなたのアドバイスは何ですか?Androidでの位置
答えて
使用この変数: -
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 2;
private static final long MIN_TIME_BW_UPDATES = 1000 * 1;
あなたの場合には、定期的位置更新を使用しては非常に良いではない解決策のように思えます。すべての時間を実行している場合、Gpsはバッテリーを消耗します(ネットワークプロバイダーは少し少なくなります)。あなたの従業員はそのようなアプリを感謝しません。 代わりにジオフェンシングを使用することができます。特に、低消費電力アプリケーション向けに作成されています。 ここでは、1つのプロジェクトで使用されているアルゴリズムです。監視を開始し、現在のユーザーの場所を取得し、ある半径(おそらく屋外で100m)を持つ円を作成する場合。人がこのサークルを歩いているときは、新しい現在地を取得し、履歴にdbに保存し、古いジオフェンスを削除して新たに作成します。 バックグラウンドサービスでジオフェンスを使用するためのコードです(アプリが終了している場合でも)。ちょうどそれを少し変更してください。 https://drive.google.com/folderview?id=0B3nZIRmN7uQyazVzMzNDTXA0Q0k&usp=sharing
良いアプローチです。たとえば、庭を円の部分に分けることができます。ゾーンA、ゾーンB、ゾーンCのように表示されます。その後、ワーカーがゾーンAにいるように監視することができます。 – Blackkara
ドキュメントでは、リアルタイムアプリケーションの場合、5秒間隔とHIGH_ACCURACYが推奨されます。したがって5秒間隔があなたにとっても最適です。
の位置情報の更新に、0間隔などの積極的なパラメータを要求することは勧められません。なぜなら、AFAIKは、LocationManagerインスタンスを取得するとアンドロイドシステム全体に関連しているため、メインスレッドに悪い結果を与える可能性があります(私はルーパーを渡してみましたが、その場合でも、 )
私は絶対に融合ロケーションプロバイダをお勧めします。これはgpsとネットワークプロバイダをラップするため、デバイス上のセンサーも使用します。たとえば、移動していないときにデバイスが場所を取得することはできません。
バッテリー:正直なところ、上記の方法ではバッテリーが非常に早く消耗します。
commonswareからあなたのために良い例:link
はそれであなたは、電源管理、ウェイクアップ、位置情報の更新とタイムアウトについての素敵な戦術を参照してくださいよ、このプロジェクトをお読みください。しかし、それはLocationManagerを使用します。あなたが代わりに溶融位置apiと結合すれば、より良いかもしれません。
したがって、融合ロケーションプロバイダを使用するのが最適ですか?それはgpsとローカルネットワークプロバイダの代用ですか?私はそれについて読んだことがありますが、あなたの意見を聞くのはクールです... – Atenica
私は融合したプロバイダを使用することをお勧めします。あなたはこのビデオ[link](https://youtu.be/Bte_GHuxUGc?t=735)を12:15から14:45まで見ることができます。 – Blackkara
また、[このリポジトリ](https://github.com/googlesamples/android-play-location/tree/master/LocationUpdates)をチェックして、融合プロバイダAPIの使用方法を確認してください – Blackkara
- 1. Androidアクションバーアクションアイテムの位置
- 2. Androidのセットスピナー位置
- 3. Android GPSの位置
- 4. Androidのタッチ位置
- 5. Androidスピナーアイテムの位置
- 6. Androidレイアウト - 位置レイアウト
- 7. Android - スピナーの位置の値
- 8. Android webviewの位置:固定
- 9. Androidのビュー位置アニメーション
- 10. Androidレイアウト要素の位置
- 11. Android AlertDialogスクロールバーの位置
- 12. Androidレイアウトの位置付け
- 13. Android仮想キーボードの位置
- 14. Android EditTextのテキスト位置
- 15. Android Seekbar Thumbの位置
- 16. Xamarin Androidセットスイッチの位置
- 17. Android RelativeLayout位置の問題
- 18. Androidの位置付けImageView
- 19. AndroidでのSDカードの位置
- 20. AndroidのMapViewで位置ラベルなし
- 21. Android onAccessibilityEvent TextViewのX位置とY位置を取得
- 22. Androidと同じ位置Textview
- 23. Android MapView初期位置
- 24. 位置をパーセントで設定 - Android DisplayMetrics
- 25. 絶対位置での位置付け
- 26. 絶対位置での位置部門
- 27. 水平スクロールビューのAndroidの設定位置
- 28. AndroidキャンバスdrawTextのテキストのy位置
- 29. Androidスタジオアクションバーの幅/アイコンの位置
- 30. Androidリサイクラーの表示アイテムの位置
多くの良い質問は、専門家の経験に基づいてある程度の意見を生成しますが、この質問に対する回答は、事実、参考文献、または特定の専門知識ではなく、概ね意見に基づいている傾向があります。 – Emil
いくつかの値を試し、一般的ないくつかのデバイスで測定して、受け入れられるものが得られるまで測定してください。 – Michael
ありがとうございます。あなたの意見は何ですか? – Atenica