2017-07-08 126 views
0

我有一个后台服务,它使用PendingIntent在后台跟踪设备位置运行。管理GoogleApiClient的最佳实践

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

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

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

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

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

回答

0

您应该致电googleApiClient.connect()您的活动onStart()googleApiClient.disconnect()onStop()。你可以实现GoogleApiClient.ConnectionCallbacks,它会让你知道客户端是否通过调用public void onConnected(Bundle bundle)成功连接,然后你可以访问你的api。

+0

谢谢。我更新了描述。我有一个后台服务。我很担心断线。 –