管理GoogleApiClient

时间:2017-07-08 07:39:31

标签: android android-googleapiclient

我有一个后台服务,它使用PendingIntent在后​​台跟踪设备位置运行。

服务调用mFusedLocationClient.requestLocationUpdates(mLocationRequest, locationRequest, pendingIntent)以开始位置跟踪,但有时也会更新位置跟踪(更改更新频率)。

我应该将GoogleApiClient实例存储在服务类中,还是应该在每次需要时连接到它?

  • 我担心如果我存储它,可能会出现断开连接。这在理论上应该不是问题,因为文档说GoogleApiClient会自动尝试重新连接。

  • 如果我每次都连接到GoogleApiClient,它会在代码中增加一些复杂性,因为与connect()建立的连接是异步的。

根据您的经验,您认为最好的是什么?

1 个答案:

答案 0 :(得分:0)

您应该在活动的googleApiClient.connect()中致电onStart(),在googleApiClient.disconnect()中致电onStop()。您可以实施GoogleApiClient.ConnectionCallbacks,通过调用public void onConnected(Bundle bundle)来告知您客户端是否成功连接,然后您就可以访问您的API。