【问题标题】:Cannot restore the state of my android c++ game (state->savedState is always NULL)无法恢复我的 android c++ 游戏的状态(state->savedState 始终为 NULL)
【发布时间】:2019-06-07 12:43:24
【问题描述】:

我正在使用 android studio 开发我的 android full c++ 游戏,我使用了来自 google 示例(native-activity)的这段代码。一切正常。但是当我点击模拟器上的 BACK BUTTON 时,游戏进入后台,当我恢复游戏时,游戏从头开始重新开始,而不是继续。我在应用程序的状态中添加我的变量,并在应用程序启动时尝试重新加载我的“游戏状态”。

问题是 state->savedState 总是等于 NULL。即使在恢复应用程序之后。

这是代码: https://github.com/googlesamples/android-ndk/blob/master/native-activity/app/src/main/cpp/main.cpp#L327

我在我的 xml 中添加了这一行:android:alwaysRetainTaskState="true" 在我的活动中

【问题讨论】:

    标签: android c++ android-ndk


    【解决方案1】:

    如果您的游戏被系统抢占,您将获得一个有效的savedState。例如,尝试给运行该应用的手机拨打电话。

    当用户点击返回按钮时,系统不干预。保存和恢复游戏状态是您的责任。你可以intercept AKEYCODE_BACK in app_handle_event

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多