問題タブ [android-fusedlocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
373 参照

android - Android で 2 つの異なるコード スニペットを使用して現在の場所の NULL を取得する

GPS/ネットワーク プロバイダーの位置情報に行き詰まっています。すべてのアンドロイドユーザーにとって基本的な質問であることは知っていますが、私は長い間この問題を抱えています。

実際には、 Option Menuをクリックして次の方法で現在の場所を取得し、データベースに挿入しています。

緯度と経度が何度も 0.00になり、他の国 (中国、南アフリカなど) の場所が表示されることもあります。

なぜそれが起こるのかわかりませんが、Stackoverflow Solutionを見つけた後、2日間のグーグル検索でFusedLocationProviderApiという名前のGoogleの新しいAPIが見つかりました。

いくつかのリンクをたどって実装しましたが、次のようなエラーが発生しました。

その中で、私は場所を取得する2つの方法を管理しています:

  1. Google Play Service が利用可能かどうかは、FusedLocation API を使用して場所を取得します。
  2. それ以外の場合は、独自の方法を使用して位置を取得します (デバイスが非常に多いため)。

My で次の権限を取得しましたAndroidManifest.xml

次に、 NULLの場所も取得します:(この問題の解決策はありますか?

よろしくお願いします。

0 投票する
0 に答える
1155 参照

android - Android Fused Location API の位置情報が正確ではない

アプリの 1 つで Fused Location API を使用しています。優先度を LocationRequest.PRIORITY_HIGH_ACCURACY に設定しました。間隔/最速間隔を数ミリ秒に設定すると、GPS が常にオンになり、緯度経度が約 4 メートルの精度で取得されますが、間隔を約 10 分に設定すると、GPS がオフになっていることがわかります10分間、その後、GPSインジケータがまだ安定する前に、1kmの精度で位置を取得します. 誰でもこの動作と私が間違っていることを説明できますか?

0 投票する
0 に答える
303 参照

android - 予期しない動作 - 融合された位置情報プロバイダーを使用したバックグラウンドでの位置情報キャプチャ

PRIORITY_HIGH_ACCURACYを使用して、融合された位置プロバイダーを使用して、30 分ごとにバックグラウンドで位置を取得しようとしています。これを実現するために、BroadcastReceiver で PendingIntent を使用し、30 分ごとに位置情報の更新を要求しました。未解決の質問:-

1. ドキュメントには setInterval(long duration) と不正確に記載されていますが、数時間にわたって位置情報の更新がまったく得られないことがあります。実際、位置情報更新の取得が完全に停止しているように見えることもあります。

2.GPSは常時ONで移動中なのに、時々位置情報がNULLになって気になる。

上記の問題により、バックグラウンドでの位置更新ロジックがあまり信頼できなくなります。アラーム マネージャーを使用して 30 分ごとにウェイクアップし、位置情報の更新を要求できますが、これはオーバーヘッドのように見えます。

何かご意見は?

0 投票する
0 に答える
50 参照

android - GPS が最近の更新の取得を停止する

一部のユーザーで、GPS 追跡アプリが位置の更新を停止し、古い位置をバックエンドに送信し続けるという問題が発生しています。

実装は FusedLocation チュートリアルに基づいており、機能します。ただ、数人で突然機能しなくなります。

関連しているかどうかはわかりませんが、最後の試行がまだ取得しようとしているときに (gps アイコンがまだ点滅している状態で) 位置を取得しようとするとどうなりますか?

私が知っている唯一のヒントは、GoogleApiClient を切断して再度接続すると、gps が再び正常に動作することです。誰かがそれを引き起こしている可能性のある何かを知っていますか?

Play サービスを使用しています: 7.5.0

編集: 各 gps リクエスト間の間隔は 30 秒です。

0 投票する
1 に答える
887 参照

android - Fused location API に addGpsStatusListener を追加

私が追加しました:

と:

と:

ただし、Fused Location API では onGpsStatusChanged は呼び出されません。これは可能ですか?

0 投票する
3 に答える
1509 参照

android - Fused Location Provider - 変位による位置の更新が機能しない

バックグラウンドから位置を追跡するAndroidアプリケーションがあります。次の構成で融合位置APIを使用しています

デバイスが移動した場合にのみ位置情報の更新が必要です。すべてが完全に機能する場合もあります。しかし、デバイスが静止していても、位置情報の更新を受信することがあります。

この問題が発生する理由 変位を設定する場合、間隔と最速間隔を設定する必要がありますか? この問題は Google Play サービスのバージョンに関連していますか?

0 投票する
2 に答える
1161 参照

android - Android 融合ロケーション API は、自宅にいるときに誤った位置情報更新を提供し、WiFi ネットワークにラッチします

10 秒後に位置情報の更新を取得するアプリケーションを作成しました。オフィスにいるときや外出中などは問題なく動作していますが、家にいて WiFi ネットワークに接続しているときは、onLocationChanged(Location location)方法で位置情報を取得しました。は私の家から 55Km ですが、これは非常に不正確ですか? この場所の更新を回避するためのヘルプ。

0 投票する
2 に答える
3589 参照

java - FusedLocation API を使用して 5 分ごとに位置情報の更新を受信する方法

私は現在、5 分ごとにユーザーの位置を確認し、座標をサーバーに送信する必要があるアプリに取り組んでいます。単純な古い LocationManager API ではなく、Google Play Services の FusedLocation API を使用することにしました。主な理由は、LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY優先度レベルに気づいたからです。これは、適切なバッテリー使用量で 100 メートルの精度レベルを提供すると主張しています。私は欲しい。

私の場合、継承構造が次のアクティビティがあります。

関連するコールバック (onConnected、onConnectionFailed、onConnectionSuspended、onLocationChanged) を実装します。公式ドキュメントで提案されているように、このメソッドを使用して GoogleApiClient のインスタンスも取得します。

onConnected では、次を使用して位置情報の更新を開始します

...そして onLocationChanged() で変更をキャプチャします。

ただし、しばらくすると位置情報の更新が停止するように見えることがすぐにわかりました。おそらく、このメソッドがアクティビティのライフサイクルに関連付けられているためか、わかりません。とにかく、IntentService を拡張する内部クラスを作成し、それを AlarmManager で開始することで、これを回避しようとしました。だからonConnectedで、私はこれをやった:

LocUpService クラスは次のようになります。

LocationUpdater は、次の静的メソッド getLastKnownLocation を含む別のクラスです。

でもビックリ!! 静的メソッドへの参照を明確に渡すと、「IllegalArgumentException: GoogleApiClient パラメータが必要です」というメッセージが表示されます。これは、GoogleApiClient インスタンスがアクティビティのライフサイクルに関係しており、インスタンスをインテントサービス。

だから私は考えています:狂わずに5分ごとに定期的な位置情報の更新を取得するにはどうすればよいですか? サービスを拡張し、そのコンポーネントにすべてのインターフェイス コールバックを実装し、そこで GoogleApiClient インスタンスを構築して、バックグラウンドで実行し続ける必要がありますか? 5 分ごとに IntentService を拡張するサービスを AlarmManager に開始させて作業を実行し、関連するすべてのコールバックと GoogleApiClient を IntentService で構築する必要がありますか? 現在行っていることを続けますが、違いが生じることを期待して、GoogleApiClient をシングルトンとして構築しますか? どのようにしますか?

長くなってしまい申し訳ありません。

0 投票する
0 に答える
107 参照

android - アプリがアクティブでないときに FusedLocation API を使用して位置情報の更新を監視する方法

FusedLocation API は LocationManager API よりも新しいものですが、どちらをいつ使用するかが明確ではありません。ユーザーがアプリを実行していないときでも、位置の変化を監視したい。

LocationManager を使用したこの素敵な例を見つけましたが、これは 2011 年のものです。この情報はまだ関係がありますか?

FusedLocation API の例は、Activity で位置情報を継続的に更新するために LocationRequest を構成する方法を示しています。私の質問は、アクティビティが実行されていないときに場所の変更を監視するためにどのように使用しますか?

Alarm Manager を使用する他の例を見たことがありますが、これは基本的にポーリングであり、やり過ぎのように見え、バッテリーを消耗する可能性があります (しかし、おそらく私は間違っているのでしょうか?)。