我正试图从服务中访问Android智能手表的谷歌fit数据。为此,我使用com.google.android.gms:play-services-fitness:7.5.0和googleapicclient连接:
mGoogleApiClient = new GoogleApiClient.Builder(getApplicationContext())
.addApi(Fitness.HISTORY_API)
.useDefaultAccount()
//.setAccountName("xxxxxxxxxx@gmail.com")
.addConnectionCallbacks(
new GoogleApiClient.ConnectionCallbacks() {
....etc..
....etc..
在情况下,如果我使用我自己的电子邮件硬编码setAccountName(相同的帐户,我使用手机和配对的智能手表),那么它的工作很好。我连接到成功和功能Fitness.HistoryApi.readDailyTotal返回正确的步骤计数。
如果我使用useDefaultAccount(),那么我也连接到成功,但是Fitness.HistoryApi.readDailyTotal返回0步。
我如何获得帐户名称在代码setaccountname()方法或useDefaultAccount()方法正确?为了使它工作,我在这里缺少什么?
您可以按照官方GFit文档使用简单的get请求获取帐户的名称。
GET https://www.googleapis.com/fitness/v1/users/userId/dataSources/dataSourceId
dataSourceId
和userId
将是两个必需的参数,它们将导致获得帐户上的名称。