1

Google Play サービスを使用するには、Google に接続する必要があります。たとえば、FusedProviderApi は WiFi AP またはセル タワー ID をスキャンし、それらを Google に送信して咀嚼し、場所を出力することがあります。しかし、このアクティビティの検出はそれほど面倒ではないはずですが、何が起こっているのでしょうか? これは彼らが言うことです:

「アクティビティは、定期的にデバイスを起動し、センサー データの短いバーストを読み取ることによって検出されます。電力使用量を最小限に抑えるために、低電力センサーのみを使用します。たとえば、ユーザーが現在オンになっているかどうかを検出できます。徒歩でも、車でも、自転車でも、静止でも。」

サーバー内の低消費電力 (加速度計/磁力計/ジャイロスコープ) センサーのデータも噛む必要がありますか? それとも、クラウドソーシング モデルを構築するためにその情報を収集しているだけですか? その時点でサーバーに接続していなくても、アクティビティを検出できますか? それとも、サーバーに接続するまで、定期的に取得した測定値を保存しますか? 誰もこれを試しましたか?

編集:テスト後、.connect() 呼び出しは、そのセマンティクスにもかかわらず、インターネット接続なしで実行できるため、必ずしも何かに接続するわけではないことがわかりました。このメソッド (および onConnect() コールバック) により、サーバーへの接続は、そうでない場合に行わなければならないと考えるようになりました。cYrixmorten の回答を正しいものとしてマークします。

4

1 に答える 1

2

私はそれが必要だと思う

  1. コードのその部分に適切な apiClient があることを確認します
  2. 一致するパターンを更新する可能性があります。

アクティビティ認識を要求した直後に、サンプル プロジェクトが Google Play Services から切断されるため、Google Play Services への接続が呼び出されるとは思いません。

ApiClient などの面倒な設定作業を避けるために、このライブラリにアクティビティ認識を追加しました: https://github.com/mcharmas/Android-ReactiveLocation

于 2015-01-08T22:37:29.057 に答える