問題タブ [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.
java - サービス クラス内で Fused Location Provider を使用するにはどうすればよいですか?
バックグラウンドでユーザーの位置を取得する必要があるため、Service クラス内で Fused Location Provider を使用しようとしています。以下のコードをonStart()
メソッド内に入れましたが、コンテキストMainActivity.getAppContext()
が認識されません。Service クラスで使用しているため、代わりに何を使用できますか?
android - FusedLocationApi.requestLocationUpdates で互換性のない型エラーが発生する
Google Play サービスを使用して現在地を取得しています。メソッドを使用しrequestLocationUpdates
ていると、赤い線が表示されます。
互換性のないタイプ。必須: android.location.Location。見つかりました:com.google.android.gms.common.api.PendingResult
this
LocationListener を指します。私はすでにcom.google.android.gms.location.LocationListenerとオーバーライドメソッドを実装していますonLocationChanged
が、まだ赤い線が存在します。このバージョンも試してみました。
これでも同じエラーが発生します。メソッドのパラメーターは、GoogleApiClient、LocationRequest、LocationListener です。どこが間違っているのか分かりません。何か案が ?前もって感謝します。
android - アプリが破棄されたときに Google API クライアントが切断される
私のプロジェクトでは、Google API クライアントを使用して場所を取得するバックグラウンド サービスを作成します。
私の問題は、アプリが破棄され、サービスが実行されているが、Google API クライアントが自動的に切断され、lat-lang を取得できない場合です。接続を失いたくありません。
これは私のサービスクラスコードです
android - Android バックグラウンド サービスで LocationServices.FusedLocationApi.requestLocationUpdates を使用する...onLocationChanged が呼び出されない
何日も何日も検索しましたが、どういうわけか onLocationChanged が呼び出されない理由に対する答えがわかりませんでした。私はドキュメントを広範囲に読みましたが、決定的な何かが欠けているに違いありません。場所が変更されたときにバックグラウンドで実行されるサービスが必要なだけで、場所をログに記録したい.
これが私のサービスです...
こんな感じでサービスを開始するのですが…
マニフェストにも次の権限があります...
java - Android 融合ロケーション プロバイダー: OnLocationChange は呼び出されませんでした
私は融合された場所プロバイダー api に大きな問題を抱えています。私が ovveride するすべてのメソッド (たとえば、onConnected で最後の場所を取得します) は、OnLocation の変更を除いて機能しています。 MapView でフラグメント化すると、問題なく動作します。これは私のコードです:
MapView のみを使用する場合、場所を取得する必要がありますか、それとも現在のコードで何かを更新する必要がありますか?
android - FusedLocationAPI が返されない Android で位置情報の更新をリクエストする
更新:この質問 ( 1および2 ) で説明されているように、このエラーが発生していますが、この回答によると、これは内部ログにすぎず、機能に影響を与えるべきではありません
V/GoogleSignatureVerifier: com.google.android.gms 署名が無効です
元の質問:
アプリが強制終了された場合でも機能する必要がある、ユーザーの場所に関連するさまざまな機能を実装する必要があります。それを達成するために、私はサービスを使用しています。ユーザーを追跡しようとすると問題が発生します。場所の更新をリクエストする際に問題があるようです。
私のサービスの最も関連性の高い部分は次のとおりです。
免責事項: コードは読みやすいように簡略化されています。サービス バインディングに関連するすべてのメソッドは、問題の一部ではないため、いくつかのコールバックと共に削除されました。
アーキテクチャの制約で接続コールバックが使えないので使っmGoogleApiClient.blockingConnect()
ていますが、現在地を取得しようとしても問題ありません。
私が呼び出すとstartLocationUpdates()
、場所の更新を要求すると実行が失われたように見え、呼び出されるLog.d(TAG, "startLocationUpdates: Request posted")
こともありませんonLocationChanged(Location newLocation)
。
ログキャットは次のとおりです。
私のコードは基本的にAndroid の例からコピーされています。サンプル ソース コードをダウンロードしたところ、正しく動作しました。私のコードと例の 2 つの唯一の違いは、サービス内にあることと を使用しているmGoogleApiClient.blockingConnect()
ことですが、これがこのようにどのように影響するかはわかりません。
誰かがこの種の行動に直面したことがありますか? 私は本当に道に迷っており、助けていただければ幸いです。
回避策:
最後に、Callback アプローチの代わりに PendingIntent を使用してこの問題を解決しました。なぜこれが起こったのかを知りたいのですが、誰かがこの問題に直面していて、どうすればよいかわからない場合は、私の回避策を次に示します。
位置情報の更新を開始する方法:
追跡サービス:
この方法を使用すると、別の奇妙な問題に直面しました。PendingIntent の構築に使用される Intent にエクストラを配置すると、TrackingService が呼び出されたときに、Intent エクストラには場所がなく、Intent の作成時に追加されたものだけが存在します。これに対する私の回避策は、SharedPreferences を使用して必要な ID を渡すことでしたが、このパッチにはあまり納得できません。この問題については、この質問で説明しています。
android - 融合位置プロバイダーは、偽の正確な位置を提供します
融合された位置プロバイダーを使用して、Android でユーザーの位置を追跡しています。ほとんどの場合、うまく機能し、位置信号は正しいように見えますが、時々、私が訪れたことのない遠くの地点から正確 (精度 <= 30) に見える偽の位置ポイントを受け取ります。異なる Android デバイスと異なるセル プロバイダーを使用している私のフロアの他の人々にも起こります。私たちは皆、ときどき同じ場所に「ジャンプ」し、しばらくすると本来の場所に戻ってきます。誰かがこの問題を経験しましたか? どの信号が本物でどれがそうでないかを見分ける方法がわかりません。ときどき偽の信号を提供するのはWIFIプロバイダーだと思います(私たちは建物の中にいて、信号は正確であるため)が、よくわかりません. プロバイダーを抽出できますか 融合ロケーションプロバイダーからのデータ? 偽のシグナルを提供したプロバイダーを知りたい
ありがとう、リー
android - 迅速かつ正確な位置情報を取得する最良の方法
Android では、位置情報を取得する多くの方法を見てきました。Location についてthisとthisを読みました。また、Fused Location Api についても知りました。
アプリでの私のケースは、ユーザーがアプリを起動するときに、可能な限り迅速な方法で場所を取得する必要があるということです。ユーザーの場所に基づいて特定のタスクを実行する必要があるためです。
というわけで、今では位置情報サービスを利用しています。これで、私は GPS からの Loation とネットワークからの場所を試しました。しかし、どちらも場所を有効にする必要がありますが、ネットワークから場所を取得しているかどうかは問題ではないと思いますか? それは...ですか ?
では、 Location を取得する方法を教えてください。迅速かつ正確な返信を返す必要があるのはどれですか?
- どちらも位置情報を有効にする必要があるため、GPS とネットワークの位置情報の主な違いは何ですか?
- Context で最高のプロバイダーとは何を意味しますか?
- Fused Location はどのように機能しますか?
- 私のアプリはさらに作業するためにデータまたはwifi(インターネット)を使用するため、Fused Location APIのロケーションサービスに行くべきですか?
これについて私のこれらの混乱について議論してください。私にとって何が最善であるか、誰かが私の主張を打ち砕いて、それに応じて私に答えてくれませんか?
google-api - Android の Fused Location Provider は、データが有効な状況でのみ機能しますか?
Android の Fused Location Provider はデータ接続なしで機能しますか。はいの場合、どのように場所を取得できますか。事前にお知らせください。
android - ジオフェンシングの最善の戦略
私はロケーションとジオフェンシングに取り組んでいます。しかし、私はいくつかの問題を見てきました。私は何かが欠けていると思いますが、実際には、Geo Fencing や Fused Location API などの位置情報サービスに関して多くの混乱があります。
私がしていること
アプリのシナリオによると、ユーザーの場所 (Fused Location API を使用して取得しています) を取得する必要があります。また、ユーザーに目的地を尋ね、ポイント A にいて、場所 F を選んだとします。地点 F に到着したことをアプリに通知してもらいたい.
問題と混乱 :
アプリを使用している場合にのみ、目的地に到着したことが (通知を通じて) 通知されます。現在地が Google を現在地に更新していないようです。アプリが閉じているかバックグラウンドにある場合でも、Googleが彼を追跡する最善の方法は何ですか
私がやっていることは、ユーザーの目的地の周りにジオ フェンスを作成することです。今、Googleがユーザーを追跡する方法が何であるかわかりません。? ジオ フェンスを作成した後、Google がどのように私たちを追跡するのかを明確にしていただけますか?
アプリがバックグラウンドにある場合や、アプリが強制終了された場合でもサービスが実行され続けるように、サービスに何かを実装する必要がありますか?
私は自分が何を望んでいるかという私の質問について静かにはっきりしていると思います。ご意見をお聞かせください。また、ある場所をジオ フェンスする際に Google がどのように私たちを追跡しているのか教えてください。
これに従ってジオフェンスを作成しています。
あなたの意見を教えてください。