1

我有两个意图服务: 1. 使用 Fused Location API 在后台接收位置更新。2. 使用Activity Recognition API 在后台接收Activity Recognition。

每当我检测到用户静止不动时,我希望能够将融合位置的优先级从 PRIORITY_HIGH_ACCURACY 更改为 PRIORITY_BALANCED_POWER_ACCURACY。

我听说过 removeLocationUpdates() 然后调用 requestLocationUpdates() 但我不能使用它,因为我只在后台运行没有活动的意图服务。

任何帮助都会有所帮助。

4

1 回答 1

1

您的应用可以同时连接到GoogleApiClient多个地方。在您的活动识别中连接到一个GoogleApiClient对您自己来说会容易得多,这样您就可以在需要时直接调用。blockingConnect()IntentServicerequestLocationUpdates()

requestLocationUpdates()注意Javadoc上的注释:

任何先前注册的具有相同 PendingIntent(由equals(Object)定义)的请求都将被此请求替换。

所以应该不需要调用removeLocationUpdates().

于 2015-05-01T20:10:30.823 回答