我的应用程序完全使用 C/C++ 使用 NativeActivity
编写,它没有 Java 代码(基于“native-activity”NDK 示例)。按“后退”按钮将其关闭(破坏 Activity ),但我需要此按钮的其他行为,因为我有自己的 UI 和菜单,它们通过 OpenGL 显示。
As I read ,为了改变“后退”按钮的行为,我需要覆盖 Java Activity 类的 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;
}
关于安卓NDK : How to override onBackPressed in NativeActivity without java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12130618/