2016-06-06 13 views
0

Erhalte eine IllegalArgumentException beim Versuch, die Verbindung zu GoogleFit mit Fitness.ConfigApi.disableFit(mClient) wie in der docs beschrieben zu trennen. Ich bin in der Lage, historische Daten zu verknüpfen und abzurufen.Fehler beim Versuch, Google Fit in der App zu deaktivieren

Fehler

GoogleApiClient nicht die API für diesen Anruf erforderlich ist, um konfiguriert.
bei com.google.android.gms.common.internal.zzaa.zzb (Unknown Source)

Deaktivieren/Trennungscode (Anmerkung i mClient.isConnected() geprüft haben, bevor dieser Aufruf):

 PendingResult<Status> pendingResult = Fitness.ConfigApi.disableFit(mClient); 
     pendingResult.setResultCallback(new ResolvingResultCallbacks<Status>(this, RC_DISCONECT_GOOGLE_FIT) { 
      @Override 
      public void onSuccess(@NonNull Status status) { 
       updateStatus("Disconnected from Google Fit: " + status.getStatusMessage()); 
      } 

      @Override 
      public void onUnresolvableFailure(@NonNull Status status) { 
       updateStatus("Error disconnecting from Google Fit: " + status.getStatusMessage()); 

      } 
     }); 

GoogleApiClient Config

private void buildFitnessClient() { 
     mClient = new GoogleApiClient.Builder(this) 
       .addApi(Fitness.HISTORY_API) 
       .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)).build(); 
} 

API Targeting 23, läuft auf API 21, mit 'com.google.android.gms: Play-Dienste-Fitness: 9.0.1'

Antwort

1

Wenn Sie Ihre GoogleApiClient erstellen, müssen Sie .addApi(Fitness.CONFIG_API) hinzufügen, um Fitness.ConfigApi.disableFit(mClient) zu verwenden. Was irgendwie Sinn macht warf mich einfach so, wie es in der Dokumentation fehlte.

mClient = new GoogleApiClient.Builder(this) 
       .addApi(Fitness.HISTORY_API) 
       .addApi(Fitness.CONFIG_API) 
       .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)).build(); 
Verwandte Themen