在运行时更改融合位置优先级

时间:2015-05-01 18:22:05

标签: android google-play android-fusedlocation

我有两个意向服务: 1.使用Fused Location API在后台接收位置更新。 2.使用活动识别API在后台接收活动识别。

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

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

任何帮助都会有所帮助。

1 个答案:

答案 0 :(得分:1)

您的应用可以同时连接到多个地方的GoogleApiClient。在您的活动识别GoogleApiClient中使用hereIntentService进行连接会更容易,这样您就可以在需要时直接拨打blockingConnect()

请注意requestLocationUpdates() Javadoc上的评论:

  

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

因此不需要致电removeLocationUpdates()