2014-05-14 75 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); 
}