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

时间:2011-10-06 18:58:07

标签: android android-ndk

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

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

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

1 个答案:

答案 0 :(得分:5)

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

您必须ANativeActivity_finish()并继续事件循环,直到android_app->destroyRequested。在您的事件处理程序中,您将找到相应的APP_CMD_STOPAPP_CMD_DESTROY

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