2016-08-15 3 views
0

Это меня злит. У меня есть клиент, пытающийся подключиться к Google Fit API в приложении для Android. Клиент уже был авторизован раньше (и этот шаг работает).GoogleApiClient висит навсегда без обратного вызова

Вот вызов:

GoogleApiClient.Builder builder = new GoogleApiClient.Builder(activity.getApplicationContext()) 
      .addApi(Fitness.SESSIONS_API) 
      .addApi(Fitness.SENSORS_API) 
      .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) 
      .addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks() { 
       @Override 
       public void onConnected(@Nullable Bundle bundle) { 
        LogExt.i(MyClass.class, "Connected to Google Fit...."); 
       } 

       @Override 
       public void onConnectionSuspended(int i) { 
        LogExt.d(MyClass.class, "Connection to Google APIs suspended"); 
       } 
      }); 
     builder.enableAutoManage(PinCodeActivity.instance, new GoogleApiClient.OnConnectionFailedListener() { 
      @Override 
      public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 
       if (connectionResult.isSuccess()) { 
        LogExt.i(MyClass.class, "Connected to Google Fit !"); 
       } else { 
        LogExt.e(MyClass.class, "Cannot connect Google Fit: " + connectionResult.getErrorMessage()); 
       } 
      } 
     }); 
    } 
    gclient = builder.build(); 
    LogExt.d(MyClass.class, "Going to connect to Google APIs..."); 
    gclient.connect(); 

приложение, то ничего не делает. Журналы не печатаются. Нет соединений. Нет отключений. Ничего. Я просмотрел общий журнал и до сих пор не могу найти подсказки.

Run на Samsung Galaxy S6, Android 6.0.1, импортируемых библиотек: com.google.android.gms:play-services-fitness:9.4.0

Я потерял. Помоги пожалуйста!

ответ

0

Я нашел проблему. Это связано с деятельностью, которая была передана enableAutoManage(). Затем была уничтожена деятельность, которая была передана, поэтому клиент где-то потерялся.

Жаль, что клиент должен быть связан с деятельностью, потому что нельзя осуществлять разные действия с одним клиентом, но так оно и есть. Жаль, что обратной связи, на которую можно положиться, можно отлаживать это.

Смежные вопросы