1

要使用 Google Play 服务,您需要与 Google 建立联系。例如,我知道 FusedProviderApi 可能会扫描 WiFi AP 或蜂窝塔 ID,然后将它们发送给 Google 以进行咀嚼并输出位置。但是这种活动检测应该不会很麻烦,那么发生了什么?这就是他们所说的:

“通过定期唤醒设备并读取传感器数据的短脉冲来检测活动。它仅使用低功耗传感器以将功耗保持在最低水平。例如,它可以检测用户当前是否处于开机状态脚,在车里,在自行车上或静止不动。”

他们是否也需要咀嚼服务器中的低功耗(加速度计/磁力计/陀螺仪)传感器数据?还是他们只是收集这些信息来建立一些众包模型?即使我当时没有连接到他们的服务器,我可以检测到活动吗?或者它会存储定期进行的测量,直到它连接到他们的服务器?有没有人试过这个?

编辑:经过测试,我发现 .connect() 调用,尽管它的语义,并不一定要连接到任何东西,因为你可以在没有互联网连接的情况下执行它。这种方法(和 onConnect() 回调)让我认为如果不是这种情况,就必须建立与他们服务器的连接。将 cYrixmorten 的答案标记为正确。

4

1 回答 1

2

我认为它只需要

  1. 确认您在该部分代码中有适当的 apiClient
  2. 可能会更新它匹配的模式。

我认为它不会调用任何与 Google Play 服务的连接,因为他们的示例项目在请求活动识别后立即与它断开连接。

为了避免设置 ApiClient 等繁琐的工作。我在这个库中添加了 Activity Recognition:https ://github.com/mcharmas/Android-ReactiveLocation

于 2015-01-08T22:37:29.057 回答