TurnBasedMultiplayer - onTurnBasedMatchesLoaded不会被调用 [英] TurnBasedMultiplayer - onTurnBasedMatchesLoaded does not get called
本文介绍了TurnBasedMultiplayer - onTurnBasedMatchesLoaded不会被调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用我的Android应用程序的谷歌玩游戏服务,我试图加载所有回合制比赛的状态:TurnBasedMatch.MATCH_TURN_STATUS_MY_TURN
I am using the google play games service in my android app and I am trying to load all turn based matches with the status: TurnBasedMatch.MATCH_TURN_STATUS_MY_TURN
public class TurnBasedMulti implements
OnInvitationReceivedListener, OnTurnBasedMatchUpdateReceivedListener, OnTurnBasedMatchesLoadedListener{
private GoogleApiClient googleApiClient;
public TurnBasedMulti(){
googleApiClient = new GoogleApiClient.Builder(this)
.addApi(Games.API)
.build();
googleApiClient.connect();
}
public void loadMatches(){
Log.i("TBM", "load matches async");
Games.TurnBasedMultiplayer.loadMatchesByStatus(googleApiClient, TurnBasedMatch.MATCH_TURN_STATUS_MY_TURN);
}
@Override
public void onConnected(Bundle arg0) {
Log.i("googleApiClient", "connected");
Games.TurnBasedMultiplayer.registerMatchUpdateListener(googleApiClient, this);
}
@Override
public void onTurnBasedMatchesLoaded(int statusCode, LoadMatchesResponse response) {
Log.i("TBM", "matches loaded");
TurnBasedMatchBuffer matchBuffer = response.getMyTurnMatches();
matchBuffer.close();
response.getCompletedMatches().close();
response.getTheirTurnMatches().close();
response.getInvitations().close();
response.close();
}
}
LogCat中输出:
LogCat Output:
03-15 21:16:04.594: I/googleApiClient(6066): connected
03-15 21:16:04.666: I/TBM(6066): load matches async
03-15 21:16:18.366: E/DataBuffer(6066): Internal data leak within a DataBuffer object detected! Be sure to explicitly call close() on all DataBuffer extending objects when you are done with them. (com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatchBuffer@a69f2d40)
onTurnBasedMatchesLoaded不会被调用。我在做什么错了?
onTurnBasedMatchesLoaded is never called. What am I doing wrong?
推荐答案
您必须注册 ResultCallback
Games.TurnBasedMultiplayer.loadMatchesByStatus(googleApiClient, TurnBasedMatch.MATCH_TURN_STATUS_MY_TURN).setResultCallback(
new ResultCallback<TurnBasedMultiplayer.LoadMatchesResult>()
{
@Override
public void onResult(LoadMatchesResult result)
{
}
});
这篇关于TurnBasedMultiplayer - onTurnBasedMatchesLoaded不会被调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文