Android GameHelper onConnected ConnectionHint已过期

Android GameHelper onConnected ConnectionHint已过期,android,Android,我的应用程序是一款玩家轮流玩的游戏,它使用BaseGameUtils类和示例中的一些代码。 当用户单击通知时(表示轮到他进行匹配),匹配数据将传递到onSigninsAccepted(由GameHelper在onStart中调用)。问题在于,当用户离开应用程序并重新进入应用程序时(因此调用onStop和onStart),来自(旧)意图的数据被传递到onsigninsacceed。这是一个问题,当用户已经轮到了,而电路板的状态发生了变化,因为他重新进入后将看到的是轮到他之前的状态。我试图将当前状态

我的应用程序是一款玩家轮流玩的游戏,它使用BaseGameUtils类和示例中的一些代码。 当用户单击通知时(表示轮到他进行匹配),匹配数据将传递到
onSigninsAccepted
(由
GameHelper
onStart
中调用)。问题在于,当用户离开应用程序并重新进入应用程序时(因此调用
onStop
onStart
),来自(旧)意图的数据被传递到
onsigninsacceed
。这是一个问题,当用户已经轮到了,而电路板的状态发生了变化,因为他重新进入后将看到的是轮到他之前的状态。我试图将当前状态保存到
onSaveInstanceState
,但它仍然没有传递到
GameHelper
s
onConnected

有没有办法修改
onConnected
接收到的提示(并知道提示的来源),或者在某个提示以某种方式使用后将其删除,以便以后重新启动时不再使用

也许我可以将提示的游戏状态与当前游戏进行比较,但这并不总是可能的,因为当前游戏不必与意图中的游戏相同,在这种情况下,我无法轻松获得意图匹配的(真实)回合数,并将其与意图中存储的回合数进行比较

@Override
public void onSignInSucceeded() {
    Games.TurnBasedMultiplayer.registerMatchUpdateListener(getApiClient(), this);


    log("onSingInSucceeded called!");
    myPlayerId = Games.Players.getCurrentPlayerId(getApiClient());
    TurnBasedMatch match = mHelper.getTurnBasedMatch();
    if (match != null) {
        log("updated match from connection hint");
        updateMatch(match);
        return;
    }
}

我终于找到了解决办法: 我们必须在使用后清除存储的通知数据,因此我们不能在以后使用它:

@Override
public void onSignInSucceeded() {
Games.TurnBasedMultiplayer.registerMatchUpdateListener(getApiClient(), this);

log("onSingInSucceeded called!");
myPlayerId = Games.Players.getCurrentPlayerId(getApiClient());
TurnBasedMatch match = mHelper.getTurnBasedMatch();
mHelper.clearTurnBasedMatch();   //<------------------------This is the solution
if (match != null) {
    log("updated match from connection hint");
    updateMatch(match);
    return;
}
}
@覆盖
public void onSignancedAccessed(){
Games.TurnBasedMultiplayer.registerMatchupDataListener(getApiClient(),this);
日志(“已调用!”);
myPlayerId=Games.Players.getCurrentPlayerId(GetApicClient());
TurnBasedMatch match=mHelper.getTurnBasedMatch();
mHelper.clearTurnBasedMatch()//