我正在寻找一种从Android NativeActivity获取软键盘输入的方法。
我发现了这个,它提供了一些示例代码来显示软键盘(并且它可以工作),但缺少以下几个点:
- 如何在键盘显示后获取键盘的输入。
- 如何避免当用户使用返回按钮关闭键盘时应用程序崩溃。
如果有人对这些问题有任何答案,或者更好的是,有一种不需要使用JNI的简单方法来显示键盘,请分享。
先感谢您,
Jaime
我正在寻找一种从Android NativeActivity获取软键盘输入的方法。
我发现了这个,它提供了一些示例代码来显示软键盘(并且它可以工作),但缺少以下几个点:
如果有人对这些问题有任何答案,或者更好的是,有一种不需要使用JNI的简单方法来显示键盘,请分享。
先感谢您,
Jaime
如果有人想知道,您可以通过在分配给结构体android_app的回调中获取AInputEvents来访问键盘输入:
if (AInputEvent_getType(event) == AINPUT_EVENT_TYPE_KEY)
{
lint32_t key_val = AKeyEvent_getKeyCode(event);
fprintf("Received key event: %d\n", key_val);
if((key_val >= AKEYCODE_A && key_val <= AKEYCODE_Z))
{
fprintf("Got a letter");
}
return 0;
}
if(AKeyEvent_getAction(event) == AKEY_EVENT_ACTION_UP)
fprintf("key up!");