我试图让 OnTurnBasedMatchUpdateReceivedListener 触发,但它似乎不起作用。下面是我正在使用的代码示例。我得到了一个有效的 GoogleApiClient 并且已经登录(我有其他 Listener 进入代码的其他部分)。
目标是拥有一个可以处理此事件的类,方法是传递 GoogleApiClient 并在此处进行回调(我没有其他方法可以触发代码,例如 BaseGameActivity,因为代码在另一个 LIB 中,并且我正在编写额外的代码)。
关于如何调试它有什么建议吗?
package com.google.example.games.pluginsupport;
import android.util.Log;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.games.Games;
import com.google.android.gms.games.multiplayer.turnbased.OnTurnBasedMatchUpdateReceivedListener;
import com.google.android.gms.games.multiplayer.turnbased.TurnBasedMatch;
public class TurnBaseMatchHelper implements OnTurnBasedMatchUpdateReceivedListener {
public interface TurnBasedMatchListener {
void onTurnBasedMatchReceived(TurnBasedMatch match);
void onTurnBasedMatchRemoved(String matchId);
}
private static TurnBaseMatchHelper turnbaseInterface = null;
private TurnBasedMatchListener sTurnBasedMatchListener = null;
public static void registerTurnBasedCallbacks(GoogleApiClient _googleApiClient, TurnBasedMatchListener sListener) {
if (turnbaseInterface == null) {
turnbaseInterface = new TurnBaseMatchHelper();
}
turnbaseInterface.sTurnBasedMatchListener = sListener;
Log.d("Unity", "registerTurnBasedCallbacks");
Games.TurnBasedMultiplayer.registerMatchUpdateListener(_googleApiClient, turnbaseInterface);
}
@Override
public void onTurnBasedMatchReceived(TurnBasedMatch match) {
Log.d("Unity", "onTurnBasedMatchReceived");
if (turnbaseInterface.sTurnBasedMatchListener != null) {
sTurnBasedMatchListener.onTurnBasedMatchReceived(match);
}
}
@Override
public void onTurnBasedMatchRemoved(String matchId) {
Log.d("Unity", "onTurnBasedMatchRemoved");
if (turnbaseInterface.sTurnBasedMatchListener != null) {
sTurnBasedMatchListener.onTurnBasedMatchRemoved(matchId);
}
}
}
最佳答案
这是我类似问题的答案。
From post: 转到设置 -> 帐户和同步 -> 打开自动同步复选框
关于java - OnTurnBasedMatchUpdateReceivedListener 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24869466/