Google Play客户端未正确连接

时间:2014-05-14 10:05:07

标签: android google-play-games

我目前正在使用Google Games api实现Android游戏以支持排行榜。我还使用GameHelper中的basegameutils类。

这是我在MainActivity中的代码:

public class MainActivity extends AndroidApplication implements GameHelperListener {

    private Game game;

    private GameHelper mHelper;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mHelper = new GameHelper(this, GameHelper.CLIENT_ALL);

        mHelper.setConnectOnStart(true);

        mHelper.setup(this);

        // ...
    }

    @Override
    public void onStart() {
        super.onStart();
        mHelper.onStart(this);
    }

    @Override
    public void onStop() {
        super.onStop();
        mHelper.onStop();
    }

    @Override
    public void onSignInSucceeded() {
        showToast("sign in succeeded");
    }

    @Override
    public void onSignInFailed() {
        showToast("sign in failed");
    }
}

当我启动该应用时,它会显示Google Play游戏登录叠加层。片刻后,这种情况消失了。问题是,我没有登录,客户端一直处于连接模式。只有当我关闭并重新打开应用程序时,我会看到弹出窗口,表示我已登录并且onSignInSucceeded()被调用。

另一个问题是,如果我在关闭Wi-Fi的情况下打开应用程序(当我手动取消登录时相同),则不会调用onSignInFailed()。同样,客户端也是连续的连接模式。

有人可以帮我解决问题吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要实现onActivityResult方法,以便帮助程序类知道登录活动返回的结果。

它应该看起来如下:

@Override
public void onActivityResult(int requestCode, int responseCode, Intent intent) {
   super.onActivityResult( requestCode, responseCode, intent );
   mHelper.onActivityResult( requestCode, responseCode, intent );
}