問題タブ [fusedlocationproviderapi]
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.
android - FusedLocationApi バックグラウンド 位置情報サービスがアップデートのランダムな受信を停止する
保留中の意図で FusedLocationApi を使用して、期間の場所の更新を取得しようとしているので、処理のためにデータをサーバーに送信できます。すべてが機能します。ただし、ブロードキャストの受信が停止する場合があります。サービスを続行するには、サービスを再起動する必要があります。
START_STICKY を返すサービス onStartCommand が既にあるため、アプリが強制終了された場合でも、サービスを再度開始する必要があります。さらに、Boot Completed Intent Receiver も追加したので、電話が故障してユーザーが電話を再起動した場合、サービスが再起動されます。
したがって、すべてが正常に機能しているように見えますが、ある時点ですべてが停止します。動作を停止すると、最後に受け取った場所が NULL であることに何度か気付きました (プロジェクト全体ですべての場所の更新とエラー メッセージをログに記録します)。
位置情報サービスが機能しなくなる理由はありますか?
PSメッセージを入れてその関数にフックし、呼び出されていないため、接続障害はありません。また、私もそれを記録しているので、それはインターネットの障害ではありません。インターネットが復元されると、通常/期待どおりに続行されます。
ありがとう。
主な活動は次のとおりです。
バックグラウンド サービスは次のとおりです。
ブロードキャストレシーバーは次のとおりです。
間隔を 5 分に、高速間隔を 2 分に設定しました。注: Web サービス操作の一部の関数呼び出しとコードを削除しました
すべてが機能し、期待どおりに更新を取得しますが、ある時点で、放送受信機は何も取得しません。ログを確認すると、OptInStatus は変化せず、最後に受信したロケーション ブロードキャストは NULL でした。
Web サービスを呼び出してステータス メッセージを処理するコードの他の部分は、サービスや位置情報の要求には触れていません。
android - 望ましい精度の Android GPS 位置情報
Google Play api を使用してデバイスの位置を取得し、IntentService を介して定期的に (10 分ごとまたは場所の変更時に) サーバーに送信しています。
LocationRequest.PRIORITY_HIGH_ACCURACY
ビルド中に使用してLocationRequest
おり、デバイスの GPS もオンになっています。
API は、高精度 (<=100) で位置を返す場合もありますが、ほとんど (>1000) の場合もあります。
位置精度はどのように達成できますか?
私の情報源:
android - バックグラウンドで Google Fused Location API を使用して距離を追跡する
学校のプロジェクトでは、ユーザーの位置を追跡し、移動距離を記録する必要がある Android プロジェクト (Android コーディングは初めてです) を行う必要があります。このために、Google Fused Location API を使用します。
追跡に関しては良い結果が得られていますが、アプリがフォアグラウンドにある場合にのみ機能しています。
電話がスリープ状態でもユーザーの位置を追跡し続け、移動距離を計算する必要があります。
私はいくつかの調査を行いAlarmManager
、 、または をrequestLocationUpdates
使用していくつかの解決策を見つけましたPendingIntent
。しかし、自分の状況で何が最適なのかわかりません。
電話がスリープしている間に私がやりたいことは「唯一の」ことは、彼の位置を取得し続け、彼の距離に応じてフロートをインクリメントすることです。これにより、ユーザーが正しい距離でアプリ画面に戻ったときに UI を更新できます。
私の場合、これを行う最善の方法は何ですか?
回答ありがとうございます。
android - Fused Location API を要求したアプリを知る方法
プロジェクトで Fused Location API を使用して場所を取得しています。
しかし問題は、私のアプリが Android の設定 -> 場所 -> 最近の場所のリクエストのセクションに表示されないことです。
なぜこれが起こっているのか知りたいと思っていましたか?
しばらく検索した後、Fused Location Services が Google Play Services の一部であることを思い出し、上記のパスで同じものを見に行くと、「Google Play services(Battery usage: low)」と「Googleアプリ(バッテリー使用量:低)」。
Google Play Services は、位置情報をリクエストするアプリのプロキシとして表示されますか? また、どのアプリが Fused Location API を介して実際に位置情報をリクエストしたかを知る方法はありますか?
android - バックグラウンドで頻繁に位置情報を更新する
私のアプリでは、ReactiveLocationProvider を使用してバックグラウンドの位置情報の更新を取得しています。(ライブラリリンク) アプリが最小化されると (onPause に入る)、更新の受信が開始されます。問題なく動作しますが、頻繁に更新したくないという問題があります。たとえば、私のコードでは、ユーザーが 1 km 移動し、少なくとも 10 分 (setFastestInterval) が経過したときに位置更新 (1 つ) を取得することになっている LocationRequest があります。私のログによると、必要以上のアップデートを受け取っています。誰でも理由を知っていますか?
これは、create メソッドの MainActivity の私のコードです。
と私の onPause メソッド:
そして、私は破棄時にリクエストから退会しています:
最近のログ (1km 移動して 10 分以上経過)
android - Fused Location Provider が理由もなく停止する
Fused location providerを使用して、ユーザーのニーズに基づいて頻繁に位置情報の更新を取得しています。BroadCast Recieverを使用して、 LocationRequestクラスで場所の更新を受信します。
保留中の意図を使用して、レシーバーを初期化しています。
そして、フュージョン プロバイダーから位置情報の更新を取得します。
これらはすべて、一定期間うまくいっています。しばらくすると、2 時間以上経過すると、突然、BroadCast レシーバーが更新を受信しなくなります。非常に異常なため、停止した理由はありません。
アプリケーションを停止していないか、FusedLocationApiからの位置情報更新の受信を停止しました
android - FusedLocationProviderApi.KEY_LOCATION_CHANGED は廃止されました。今何をする?
からを抽出していた がLocationReceiver
ありました。しかし、今は非推奨になっています。何に変更すればよいですか?FusedLocationProviderApi.KEY_LOCATION_CHANGED
Location
Intent
KEY_LOCATION_CHANGED
現在のコード: