2014-05-14 49 views
0

我目前正在使用谷歌游戏api来实现Android游戏来支持排行榜。我也在使用basegameutils中的GameHelper类。谷歌游戏客户端连接不正确

这是我在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"); 
    } 
} 

当我启动应用程序它显示了谷歌玩游戏登入覆盖。这消失了片刻之后。问题是,我没有登录,客户端始终处于连接模式。只有当我关闭并重新打开应用程序时,才能看到弹出窗口,表示我已登录并调用onSignInSucceeded()

的另一个问题是,如果我打开带有Wi-Fi应用程序关闭(同样,当我手动取消登录),它不是叫onSignInFailed()。客户端连接模式也是连续的。

有人可以帮我解决这个问题吗? 在此先感谢。

回答

1

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

它看起来应该如下:

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