Как завершить приложение Android NDK (нативная активность) программно? - PullRequest
9 голосов
/ 06 октября 2011

Я пытался вызвать ANativeActivity_finish (состояние-> активность) из кода при завершении запроса приложения.Это работает, однако мое приложение не может быть перезапущено, и оно показывает следующее в LogCat:

W/ActivityManager(  238): Duplicate finish request for HistoryRecord

Кажется, что все работает правильно, когда пользователь нажимает кнопку "Назад", однако мне нужно иметь возможность выполнить команду выходаиз моего приложения.Любое предложение?

1 Ответ

5 голосов
/ 11 мая 2013

Вот так.Я не знаю, как у вас дела, я думаю, что вы делаете этот вызов в конце кода, а затем возвращаетесь из android_main.

Вы должны ANativeActivity_finish() и продолжить цикл обработки событий.до android_app->destroyRequested.В вашем обработчике событий вы найдете соответствующие APP_CMD_STOP и APP_CMD_DESTROY.

Делая это таким образом, теперь у меня нет проблем.Раньше я делал это с помощью exit (0), но это было не так.

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