我的应用程序完全使用NativeActivity以C/C++编写,它没有
Java代码(基于“本机活动”NDK示例).按“后退”按钮将其关闭(破坏活动),但我需要此按钮的其他行为,因为我有自己的UI和通过OpenGL显示的菜单.
As I read,为了改变“后退”按钮的行为,我需要覆盖Java活动类的onBackPressed()方法.但是我不使用Java,我可以从C/C++到达这个方法来覆盖它吗?
解决方法
解决:为防止默认“后退”按钮行为,处理键事件时返回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; }