Android NDK:如何在没有java的情况下覆盖NativeActivity中的onBackPressed?

我的应用程序完全使用NativeActivity以C / C ++编写,它没有Java代码(基于“本机活动”NDK示例)。 按“后退”按钮将其关闭(破坏活动),但我需要此按钮的其他行为,因为我有自己的UI和通过OpenGL显示的菜单。

在我读到的时候 ,为了改变“后退”按钮的行为,我需要覆盖Java活动类的onBackPressed()方法。 但我不使用Java,我可以从C / C ++中获取此方法来覆盖它吗?

如果没有,是否有其他方法使用NDK处理“后退”按钮, 没有Java代码?

解决:为防止默认“后退”按钮行为,处理键事件时返回1就足够了:

 int32_t app_handle_event(struct android_app* app, AInputEvent* event) { if (AKeyEvent_getKeyCode(event) == AKEYCODE_BACK) { // actions on back key return 1; // <-- prevent default handler }; // ... return 0; }