Я пытаюсь настроить Google Fit API для университетского проекта, однако только что заметил, что получаю сообщение об ошибке после выбора входа в Google RESULT_CANCELED
.
Я прочитал некоторые другие страницы форума и попробовал несколько решений:
- Изменение хранилища ключей в режиме выпуска, а не отладки
- Изменение зависимостей
- Изменение конфигурации подписи хранилища ключей
У меня ничего не работает! Я понятия не имею, что я делаю неправильно, поэтому, пожалуйста, задавайте мне вопросы, и я буду рад помочь. Я знаю, что использую устаревшие функции API, однако я не могу найти ничего более современного, что я понимаю, как реализовать.
Исследованы ответы на переполнение стека:
Проверка подлинности Google Fit O завершается с ошибкой RESULT_CANCELED без отображения страницы разрешений
Google Oauth 2.0 RESULT_CANCELED при использовании API Google Fit
Конструктор
mApiClient = new GoogleApiClient.Builder(this)
.addApi(Fitness.SENSORS_API)
.addApi(Fitness.RECORDING_API)
.addApi(Fitness.HISTORY_API)
.addApi(Fitness.SESSIONS_API)
.addApi(Fitness.GOALS_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
Метод
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_OAUTH) {
authInProgress = false;
if (resultCode == RESULT_OK) {
if (!mApiClient.isConnecting() && !mApiClient.isConnected()) {
mApiClient.connect();
}
} else if (resultCode == RESULT_CANCELED) {
Log.e("GoogleFit", "RESULT_CANCELED");
}
} else {
Log.e("GoogleFit", "requestCode NOT request_oauth");
}
}
Конфигурации
release {
storeFile file("C:\\Program Files\\Java\\jdk1.8.0_144\\bin")
storePassword "pw"
keyAlias "release"
keyPassword "pw"
}