Tôi đang cố gắng thêm thành tích vào trò chơi của mình bằng cách sử dụng các dịch vụ trò chơi của google play. Hoạt động trong trò chơi của tôi chịu trách nhiệm cho thành tích đã mở rộng BaseGameActivity và nó gọi beginUserInitiatedSignIn khi nó phải cung cấp thành tích, vì vậy người dùng phải đăng nhập, nhưng tại thời điểm tôi mở khóa thành tích cho người dùng, tôi giữ nhận được "java.lang.IllegalStateException: GoogleApiClient chưa được kết nối". Bất cứ ai có thể cho tôi biết những gì tôi đang làm sai? Dưới đây là đoạn code chịu trách nhiệm mở khóa thành tích (đó là trong lớp mà kéo dài BaseGameActivity, từ BaseGameUtils):java.lang.IllegalStateException: GoogleApiClient chưa được kết nối
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();
}
}
}
Xem [bài này] (http://stackoverflow.com/questions/24474986/android-google-play-games-services-connection-error-java- lang-illegstateexc). – frenchDolphin
yea, tôi thấy bài đăng này, nhưng tôi không muốn có nút đăng nhập, tôi muốn ứng dụng của tôi cố gắng đăng nhập vào người dùng ngay lập tức. Nó là bất khả thi? –
Vâng, rất tiếc, bạn cần yêu cầu sự cho phép của người dùng trước khi đăng nhập, vì việc đăng nhập có nghĩa là ứng dụng của bạn nhận được tất cả các loại quyền mới. Đó là lý do tại sao Android buộc bạn phải hiển thị hộp thoại trước. – frenchDolphin