2016-06-23 101 views
3

因此,我試圖與Google Fit合作,出於某種原因,我無法在我的應用中連接到Google Play服務。我將OAuth全部設置完成,然後在另一個應用程序中對其進行測試,結果一切正常。特別看一下GoogleFitRepository,這是我連接到API的地方。無法連接到Google Play服務;獲取已取消的狀態代碼

W/AutoManageHelper: Unresolved error while connecting client. Stopping auto-manage. 
I/MyApp: Google Play services connection failed. Cause: ConnectionResult{statusCode=CANCELED, resolution=null, message=null} 

鏈接到GitHub的:https://github.com/drb56/FitnessExplorer

任何幫助,將不勝感激

當試圖連接我得到這個錯誤。我一整天都被困在這裏!

編輯:這裏是從類問題

public GoogleFitRepository(Activity activity) 
{ 
    mClient = new GoogleApiClient.Builder(activity.getApplicationContext()) 
      .addApi(Fitness.HISTORY_API) 
      .addApi(Fitness.SESSIONS_API) 
      .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ)) 
      .addConnectionCallbacks(this) 
      .enableAutoManage((FragmentActivity)activity, 0, new GoogleApiClient.OnConnectionFailedListener() { 
       @Override 
       public void onConnectionFailed(ConnectionResult result) { 
        Log.i("MyApp", "Google Play services connection failed. Cause: " + 
          result.toString()); 
       }}) 
      .build(); 

    activityList = new ArrayList<>(); 
    activityDataPointList = new ArrayList<>(); 
    calorieActivitiesToday = new ArrayList<>(); 
    dayActivities = new ArrayList<>(); 
} 
+0

請正確設置問題。至少複製粘貼代碼。 – suku

+0

對不起,添加了連接到GoogleApiClient的代碼 – user292277

回答

6

一些代碼,新的更新需要登入谷歌與配合API一起被執行API。

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
     .requestEmail() 
     .requestScopes(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE), new Scope(Scopes.FITNESS_LOCATION_READ)) 
     .build(); 

googleApiClient = new GoogleApiClient.Builder(activity) 
     .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
     .addConnectionCallbacks(connectionCallbacks) 
     .addOnConnectionFailedListener(failedListener) 
     .addApi(Fitness.HISTORY_API) 
     .addApi(Fitness.SESSIONS_API) 
     .addApi(Fitness.RECORDING_API) 
     .addApi(Fitness.SENSORS_API) 
     .enableAutoManage(this, 0, this) 
     .build(); 

您必須在console.developers.google.com上啓用Auth API。請通過Google Auth API的服務器端實施。否則上面的代碼將無法正常工作

+0

但我有另一個不需要GoogleSignInOptions的應用程序。這是什麼時候成爲一項要求? – user292277

+0

最近...大約一個月前...沒有教程更新 – suku

+0

所以它仍然無法正常工作,即使我補充說明。事實上,當我使用它時,我的測試程序甚至沒有工作。它沒有給我任何數據。然後當我評論它時,它給了我所需要的數據。 – user292277

0

我在使用庫中的GoogleFit時遇到了同樣的問題。經過長期的研究,我發現,我已經把:

<meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 

清單應用,而不是到圖書館的清單。