2015-07-10 91 views
1

我正在尝试从服务中访问Android智能手表的Google fit数据。为此我使用com.google.android.gms:播放服务的健身:7.5.0和GoogleApiClient连接:Fitness HISTORY_API - 如何为客户端连接设置帐户名称

mGoogleApiClient = new GoogleApiClient.Builder(getApplicationContext()) 
      .addApi(Fitness.HISTORY_API) 
      .useDefaultAccount() 
      //.setAccountName("[email protected]") 
      .addConnectionCallbacks(
        new GoogleApiClient.ConnectionCallbacks() { 
        ....etc.. 
        ....etc.. 

在情况下,如果我用我的setAccountName硬编码自己的电子邮件(同一个帐户我用手机和smartwatch配对),那么它工作正常。我与成功和功能连接Fitness.HistoryApi.readDailyTotal返回步骤正确计数。

如果我使用useDefaultAccount(),那么我与成功连接,但Fitness.HistoryApi.readDailyTotal返回0个步骤。

如何正确获取setAcountName()方法或useDefaultAccount()方法的代码中的帐户名?我在这里失踪,为了使它工作?

+0

您的设备上是否有多个帐户,或者您尝试使用硬编码的帐户? – TofferJ

+0

我在我的设备上有一个帐户,这是我尝试使用硬编码的一个帐户,它适用于setAccountName。我想为任何将在智能手表上安装我的应用程序的用户制作通用程序。 – PerecFX

回答

0

根据官方GFit documentation,您可以使用简单的GET请求获取帐户名称。

GET https://www.googleapis.com/fitness/v1/users/userId/dataSources/dataSourceId 

dataSourceIduserId将是两个必需的参数,这将导致以获得该帐户的名称。