Intereting Posts
Могу ли я проверить, загружено ли мое устройство Android в безопасном режиме или нет программно Требуется ли библиотеке Android манифест, имя приложения, значок? Как поймать нажатие клавиши «Готово» с помощью мягкой клавиатуры Использование listpreference и получение ключа работает, но не кнопка ok Как проверить естественную ориентацию устройства (по умолчанию) на Android (т. Е. Получить пейзаж, например, Motorola Charm или Flipout) Раздувание фрагментов с пакетом совместимости Ошибка волейбола: имя хоста не проверено Можно ли добавить настраиваемое свойство в стиль в ресурсе android? Странное поведение GeoPoint и / или android.maps.Projection при панорамировании MapView при максимальном уровне масштабирования Пользовательский фильтр ArrayAdapter в ListView Как установить цвет текста в текстовое представление программно Android Google плюс кнопка входа в систему не работает Android: показ закладок, когда отображается панель инструментов Google Play In-App Purchase возвращает код ошибки -1008: null puchaseData или dataSignature Получение 401 (не авторизовано) при вызове Tumblr post reblog api

Java.lang.IllegalStateException: GoogleApiClient еще не подключен

Я пытаюсь добавить достижения в свою игру, используя сервисы игровой игры Google. Активность в моей игре, которая отвечает за достижение достижения, уже расширяет BaseGameActivity и вызывает beginUserInitiatedSignIn, когда он должен дать достижение, поэтому пользователь должен войти в систему, но в то время, когда я разблокирую достижение для пользователя, я сохраняю Получение "java.lang.IllegalStateException: GoogleApiClient еще не подключен". Может ли кто-нибудь сказать мне, что я делаю неправильно? Вот код, ответственный за разблокирование достижения (он находится в классе, который расширяет BaseGameActivity, из BaseGameUtils):

private void darConquistaDerrubouArvore(int numeroDeAcertos) { // start the asynchronous sign in flow mSignInClicked = true; mGoogleApiClient.connect(); if(numeroDeAcertos <= 40) { try { beginUserInitiatedSignIn(); Games.Achievements.unlock(gameHelper.getApiClient(), "CgkIs_27xcoSEAIQAQ"); Log.i("TelaModoCasual", "usuário não está logado"); this.onSignInFailed(); } catch(Exception exc) { exc.printStackTrace(); this.onSignInFailed(); } } } 

Взгляните на базовый образец https://github.com/playgameservices/android-basic-samples/tree/master/BasicSamples/TypeANumber . Поток подключения для API Google является асинхронным, поэтому вы не можете разблокировать достижение, как оно есть. Существует обратный вызов onConnected (), который вызывается после установления соединения. В этом методе вы можете разблокировать достижения.

Документация для клиента api находится по адресу http://developer.android.com/google/auth/api-client.html.