如何处理来自通知状态栏的invitationId

时间:2013-10-12 10:41:58

标签: google-play-services google-play-games

如何从状态栏管理邀请? 我解释: 如果我覆盖onInivitationListener,我可以从捆绑包中获取信息,但是当我不运行应用程序时,邀请自动地来自状态栏,所以我没有onActivityResult我可以获得捆绑包。

我不能使用来自BaseGameActivity的getInvitationId,因为它不起作用。

有什么想法吗?

再见。

2 个答案:

答案 0 :(得分:0)

您可以在实现GooglePlayServicesClient.ConnectionCallbacks的GameHelper的 onConnect(Bundle connectionHint)方法中获取您的邀请ID。

答案 1 :(得分:0)

如果您是从 BaseGameActivity 派生的,那么只有在登录成功后才能调用getInvitationId()。例如,从 onSignInSucceeded 调用它。

来自我们的ButtonClicker示例:

@Override
public void onSignInSucceeded() {
    Log.d(TAG, "Sign-in succeeded.");

    // install invitation listener so we get notified if we receive an
    // invitation to play
    // a game.
    getGamesClient().registerInvitationListener(this);

    // if we received an invite via notification, accept it; otherwise, go
    // to main screen
    if (getInvitationId() != null) {
        acceptInviteToRoom(getInvitationId());
        return;
    }
    switchToMainScreen();
}