java - 从另一个 Activity 发送实时消息

标签 java android andengine multiplayer google-play-games

我正在为我的实时多人游戏使用 Google Play 游戏服务,但我无法从另一个未扩展 com.google.example.games.basegameutils.BaseGameActivity 的 Activity 广播实时消息。

我扩展 BaseGameActivity 的 Activity (MainActivity) 获得了一个静态实例,我从使用 Andengine 的其他 Activity (RaceActivity) 中使用它。首先,我实例化我的 MainActivity 并在所有玩家都准备好后启动 RaceActivity。然后,在我的 RaceActivity 中,我从我的 MainActivity 中调用一个静态函数来广播一条消息,但它给了我这个异常:

06-02 14:55:04.585: E/AndroidRuntime(7961): FATAL EXCEPTION: UpdateThread
06-02 14:55:04.585: E/AndroidRuntime(7961): java.lang.IllegalStateException: Failed to send message, real-time match service is not connected.
06-02 14:55:04.585: E/AndroidRuntime(7961):     at android.os.Parcel.readException(Parcel.java:1433)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at android.os.Parcel.readException(Parcel.java:1379)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.google.android.gms.internal.bm$a$a.a(Unknown Source)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.google.android.gms.internal.bj.sendReliableRealTimeMessage(Unknown Source)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.google.android.gms.games.GamesClient.sendReliableRealTimeMessage(Unknown Source)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.MainActivity.broadcastMessage(MainActivity.java:371)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.GameScene.readyUp(GameScene.java:95)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.GameScene.createScene(GameScene.java:42)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.BaseScene.<init>(BaseScene.java:39)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.GameScene.<init>(GameScene.java:25)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at com.game.superninjarun.structure.SceneManager$1.onTimePassed(SceneManager.java:109)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.handler.timer.TimerHandler.onUpdate(TimerHandler.java:98)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.handler.UpdateHandlerList.onUpdate(UpdateHandlerList.java:47)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.Engine.onUpdateUpdateHandlers(Engine.java:597)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.Engine.onUpdate(Engine.java:585)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.Engine.onTickUpdate(Engine.java:548)
06-02 14:55:04.585: E/AndroidRuntime(7961):     at org.andengine.engine.Engine$UpdateThread.run(Engine.java:820)

有人知道实时匹配服务是什么鬼吗?我什至无法在谷歌上找到它...

最佳答案

最后,由于这个 post on the andengine forum,我成功地合并了 Andengine 的 BaseGameActivity 和 Google 的 BaseGameUtils。 .

我猜想 GamesClient 类的功能只能在声明它的 Acvitity 中使用...

关于java - 从另一个 Activity 发送实时消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16884899/

相关文章:

java - 改造 GSON 将日期从 json 字符串序列化为 long 或 java.lang.Long

java - 在AIDE中使用克隆的Git repo Andengine编译报错

java - 如何在 spring 中正确关闭 tcp 套接字连接?

java - 使用 PHP 和 Java 以流形式解密/加密文件 - 填充?

Android Lollipop home按钮返回动画

java - 将照片从 Android 应用上传到 Google Cloud Storage/App Engine - 非法字符 '_'

java - AndEngine Box2d - 如何避免联合 "stretching"?

java - SequenceEntityModifier 中的 onUpdate

JavaFX Maven Plugin : com. zenjava - 如何复制外部资源

android - 我正在尝试使用 phonegap 在 adt 中运行 android 应用程序