2016-06-25 1 views
0

Я получаю следующую ошибку, когда мобильный телефон не подключен к Интернету, пытаясь создать клиент google api для доступа к приложению api: connection failed. Cause: ConnectionResult{statusCode=NETWORK_ERROR, resolution=null, message=null}. Я пробовал два способа подключения с google fit api:Соединитесь с google fit api, когда он не подключен к Интернету

МЕТОД 1: Этот подключается к Fit 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(); 

    return 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(); 

МЕТОД 2: Поэтому я попытался удалить эту функцию для входа в аккаунт, потому что я чувствовал, когда пользователь вошел в систему и уполномочил Fit API для сбора данных, а затем войти в не будет иметь важное значение.

googleApiClient = new GoogleApiClient.Builder(this) 
        .addApi(Fitness.HISTORY_API) 
        .addApi(Fitness.SESSIONS_API) 
        .addApi(Fitness.RECORDING_API) 
        .addApi(Fitness.SENSORS_API) 
        .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE)) 
        .addConnectionCallbacks(this) 
        .addOnConnectionFailedListener(failedListener) 
        .build(); 

Но я получаю эту ошибку в связи не удалось слушателю ConnectionResult{statusCode=SIGN_IN_FAILED, resolution=null, message=null}.

Как я могу обеспечить доступ к fitApi без подключения к Интернету?

ответ

0

Попробуйте следующий обходной путь:

  • Убедитесь, что ваш проект имеет название и адрес электронной почты, связанный с ним, как можно найти в разделе «экран согласия».
  • Если он не работает, удалите проект и заново его создайте.
  • Основываясь на этом thread, эта проблема возникает, если приложение не зарегистрировано должным образом в консоли разработчика Google.

Я думаю, что вы зарегистрировали приложение на Google Developer Console с помощью производства сертификата хранилища ключей отпечаток пальца (SHA1), где, как вы тестирования на приложение, которое имеет отладочный хранилище ключей.

Выполните следующие действия:

  1. Создать еще один идентификатор клиента с помощью отладки хранилища сертификатов отпечатков пальцев (SHA1).
  2. Удалите существующее приложение.
  3. Установить приложение & подключиться к Google.
  4. Проверьте приложение google fit &, убедитесь, что ваше приложение указано как подключенное приложение (...> Настройки> Подключенные приложения> Подключенные приложения & устройств).
  5. Теперь запустите вышеуказанный код & он будет работать !!!

Проверьте эти связанные билеты:

Надеется, что это помогает!