(Android,NDK,C++,OpenGL ES)
我需要一种方法可靠地从(软)键盘接收文本输入.解决方案可以通过Java使用NativeActivity子类或任何有效的方法.最后我需要输入任何文本,所以我可以用OpenGL自己渲染它
一些背景: 到目前为止,我通过调用showSoftInput或hideSoftInputFromWindow来调用JNI来触发软键盘.这到目前为止从未失败过.但是,问题是本机活动不会发送所有字符.特别是ASCII范围之外的一些unicode字符,或某些运动软键盘不起作用(AKeyEvent_getKeyCode)
以前可以获取一些其他unicode字符,以便检查KeyEvent.ACTION_MULTIPLE并读取一串字符.但即使这样也不会再可靠.
到目前为止,我没有找到替代方法.我尝试以编程方式添加EditText,但从未让它工作.即使尝试添加一个简单的Button也导致OpenGL视图不再被渲染.
在iOS上我通过隐藏编辑框来解决它,我只是激活它以使键盘显示.然后我会读出编辑框并使用字符串在OpenGL中渲染自己.