我有一个后台服务,它使用PendingIntent
在后台跟踪设备位置运行。
服务调用mFusedLocationClient.requestLocationUpdates(mLocationRequest, locationRequest, pendingIntent
)以开始位置跟踪,但有时也会更新位置跟踪(更改更新频率)。
我应该将GoogleApiClient
实例存储在服务类中,还是应该在每次需要时连接到它?
我担心如果我存储它,可能会出现断开连接。这在理论上应该不是问题,因为文档说GoogleApiClient
会自动尝试重新连接。
如果我每次都连接到GoogleApiClient
,它会在代码中增加一些复杂性,因为与connect()
建立的连接是异步的。
根据您的经验,您认为最好的是什么?
答案 0 :(得分:0)
您应该在活动的googleApiClient.connect()
中致电onStart()
,在googleApiClient.disconnect()
中致电onStop()
。您可以实施GoogleApiClient.ConnectionCallbacks
,通过调用public void onConnected(Bundle bundle)
来告知您客户端是否成功连接,然后您就可以访问您的API。