TurnBasedMultiplayer - onTurnBasedMatchesLoaded不会被调用 [英] TurnBasedMultiplayer - onTurnBasedMatchesLoaded does not get called

查看:177
本文介绍了TurnBasedMultiplayer - onTurnBasedMatchesLoaded不会被调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用我的Andr​​oid应用程序的谷歌玩游戏服务,我试图加载所有回合制比赛的状态: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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆