Невозможно восстановить состояние моей игры на Android c ++ (state-> сохраненное состояние всегда равно NULL) - PullRequest
0 голосов
/ 07 июня 2019

Я работаю над своей игрой на Android C ++ с Android Studio и использовал этот код из примеров Google (native-активность).Все работает.Но когда я нажимаю кнопку BACK BACKTON на эмуляторе, игра переходит в фоновый режим, и когда я возобновляю игру, она перезапускается с начала, а не продолжается.Я добавляю свои переменные в состояние приложения и пытаюсь перезагрузить свое «игровое состояние» при запуске приложения.

Проблема в том, что состояние-> saveState всегда равно NULL.Даже после того, как возобновить приложение.

Это код: https://github.com/googlesamples/android-ndk/blob/master/native-activity/app/src/main/cpp/main.cpp#L327

Я добавил эту строку в свой xml: android: alwaysRetainTaskState = "true" в своей деятельности

1 Ответ

1 голос
/ 08 июня 2019

Вы получите действительное saveState , если ваша игра заблокирована системой.Например, попробуйте позвонить на телефон, на котором запущено приложение.

Когда пользователь нажимает кнопку назад , система не вмешивается.Вы несете ответственность за сохранение и восстановление игрового состояния.Вы можете перехватить AKEYCODE_BACK в app_handle_event .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...