gpt4 book ai didi

java - 如果我使用 tbmp 骨架但 tbmp 骨架不是主要 Activity ,我应该怎么做才能正确接收回合制比赛更新?

转载 作者:行者123 更新时间:2023-11-29 19:22:15 24 4
gpt4 key购买 nike

我正在尝试使用 tbmp 框架,但我没有将它用作主要 Activity 。一切似乎都正常,除非在测试期间我尝试接受邀请并进入下一个回合屏幕以执行第 1 回合(第二回合)。在 onActivityResult 中(在次要 Activity 中,我以一个 Intent 开始)该行:

TurnBasedMatch match = data.getParcelableExtra(Multiplayer.EXTRA_TURN_BASED_MATCH);

在解码 TurnBasedMatchEntity 时触发 BadParcelableException: ClassNotFoundException

先前在网站上提出的关于“在 Intent 中传递 TurnBasedMatch 时出现 BadParcelablException”的问题没有提供任何有用的线索。我已经在作为 alpha 发布和测试的代码中尝试了 2 打以上的变体。我得出的结论是,问题是我没有将 tbmp 骨架设置为主要 Activity 。有没有办法解决这个问题,不需要我尝试将我的正常主 Activity 与 tbmp 中的 SkeletonActivity 结合起来?否则,tbmp 作为次要 Activity 似乎工作得很好。它会自动登录到 google+,我可以“开始比赛”、“检查游戏”、“退出”和开始自动游戏。由“开始比赛”创建的游戏让启动器添加到当前字符串并单击“完成”导致可以在“检查游戏”中看到的游戏。选择对手(我的其他 gmail 测试帐户)有效。另一个测试 gmail 帐户可以在检查游戏中看到游戏并可以接受邀请。如果另一个 gmail 游戏进程处于 Activity 状态并已登录,那么当第一个游戏进程发送邀请时,我会在第二个游戏进程上看到 toast ,通知收到邀请。但是,假设在 onStartMatchClicked 中使用了 getSelectOpponentsIntent,则无法到达 Turn 1。用 createMatch 替换 getSelectOpponentsIntent 似乎导致本质上是自动匹配。

如果我在第一个测试帐户中使用自动匹配开始游戏,然后在第二个测试帐户中使用自动匹配,那么在第二个帐户中我确实进入了第 1 回合,但同样的问题再次出现,因为第一个帐户可以从未真正看到或进行第 2 弯移动。

此站点上还有 4 个其他问题解决了这个问题。“如何检测来自 Google Play 服务通知的 Intent ”、“如何确定从基于 Google Play 回合的通知中选择的匹配项”、“TBMP 骨架:为什么没有在物理设备上调用 onTurnBasedMatchReceived 和 onInvitationReceived”,以及(外围)“TBMP 骨架 - 我如何覆盖通知事件”。我的帐户已启用同步,Google Play 游戏已启用通知。添加另一个额外的 Intent 并搜索它似乎不起作用。打开和关闭 registerMatchUpdateListener 和 registerInvitationListener 不会产生有益的结果。我认为当您将 tbmp 框架转变为非主要 Activity 时,了解需要对 tbmp 框架进行哪些更改会很有帮助。在我看来,这是 Java 代码的一个常见问题,您通常不能将代码块从一个地方移动到另一个地方,因为如果您这样做,它会中断。

我的备用操作过程是 1) 在仅限 alpha 的 google play 帐户中设置 tbmp 骨架,并查看当 SkeletonActivity 是主要 Activity 时问题是否重现,2) 将 SkeletonActivity 移植到我的正常主要 Activity 上,3) 删除 tbmp 骨架并尝试使用来自 github 或 programcreek 的另一个示例

最佳答案

如果您通过通知收到邀请/比赛更新,但没有接到您的听众电话,请确保您记得注册听众!!!我在这上面花了太长时间,只是忘了注册听众(肯定是我太棒了)。

Games.Invitations.registerInvitationListener(mGoogleApiClient, this);
Games.TurnBasedMultiplayer.registerMatchUpdateListener(mGoogleApiClient, this);

关于java - 如果我使用 tbmp 骨架但 tbmp 骨架不是主要 Activity ,我应该怎么做才能正确接收回合制比赛更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42177295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com