Подключиться к Google Fit API, когда нет подключения к Интернету

Я получаю следующую ошибку, когда мобильный телефон не подключен к Интернету при попытке создать клиент Google API для доступа к подходящему API: connection failed. Cause: ConnectionResult{statusCode=NETWORK_ERROR, resolution=null, message=null}. Я пробовал два способа подключения к 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. Поэтому я попытался удалить функцию входа в систему, потому что я чувствовал, что после того, как пользователь вошел в систему и авторизовал 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 без подключения к Интернету?


person suku    schedule 25.06.2016    source источник


Ответы (1)


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

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

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

Выполните следующие шаги:

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

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

Надеюсь это поможет!

person abielita    schedule 28.06.2016