2015-07-10 58 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將是兩個必需的參數,這將導致以獲得該帳戶的名稱。