【发布时间】:2014-03-06 16:37:18
【问题描述】:
我在处理邀请时遇到问题。 设想: 1.朋友邀请我参加他的游戏 2.我通过推送通知加入游戏 3. MenuActivity 中的 onSignInSucceeded() 运行我的主要游戏活动
@Override
public void onSignInSucceeded() {
Games.Invitations.registerInvitationListener(getApiClient(), this);
if (getInvitationId() != null) {
Intent intent = new Intent(getApplicationContext(), FindRoomActivity.class);
intent.putExtra(BundleConstants.FRIEND_GAME_CLIENT, true);
intent.putExtra(BundleConstants.INVITATION_ID, getInvitationId());
startActivity(intent);
}
}
4. 朋友在游戏结束前离开游戏,在我的屏幕上弹出窗口,确认后我回到了我的 Menuactivity,并再次运行代码表单 onSignInSucceeded 并再次 getInvitationId() 返回相同(已取消)游戏的邀请。
在我离开那个被取消的游戏之前,我试图运行 deferRoomInvitation 或 dismissRoomInvitation,但没有任何帮助。
【问题讨论】:
-
究竟是如何“离开”游戏的。你是要结束活动还是什么?
-
@Clay - 我使用 Games.RealTimeMultiplayer.leave(getApiClient(), this, mRoom.getRoomId());
-
他在开始 3 秒后离开游戏 ;-)
-
看到这对于实时多人游戏来说很奇怪。我制作了一个回合制多人游戏,当有人离开比赛时很容易检测到,因为你接到了
onTurnBasedMatchReceived的电话。我正在为实时多人游戏寻找类似的东西......