如何以编程方式终止android NDK(本机活动)应用程序?

Ste*_*eph 9 android android-ndk

我已经尝试ANativeActivity_finish在应用程序请求终止时从代码调用(state-> activity).这有效,但我的应用程序无法重新启动,它在LogCat中显示以下内容:

W/ActivityManager(  238): Duplicate finish request for HistoryRecord
Run Code Online (Sandbox Code Playgroud)

当用户点击后退按钮时,一切似乎都能正常工作,但是我需要能够从我的应用程序中发出exit命令.有什么建议吗?

jco*_*oll 5

就是那样.我不知道你是怎么做的,我猜你在代码的最后做了那个调用,然后从android_main返回.

您必须ANativeActivity_finish()继续执行事件循环,直到android_app->destroyRequested.在您的事件处理程序中,您将找到合适的APP_CMD_STOPAPP_CMD_DESTROY.

这样做,现在我没有问题.我以前用exit(0)来做,但这不是正确的事情.