gpt4 book ai didi

java - Android Lollipop 强制打开软键盘不接受按键

转载 作者:太空宇宙 更新时间:2023-11-04 14:01:23 24 4
gpt4 key购买 nike

我正在开发一个与服务器通信的应用程序,有时需要强制打开键盘并将键盘上按下的字符发送到服务器。

一切正常,直到我的手机升级到 Android Lollipop,现在键盘突然打开,但对任何交互没有反应。另一方面,当我尝试键入键盘字母时,键盘布局下的所有按钮都会使用react。这意味着键盘布局让一切都通过。

我使用按钮打开键盘:

public void b_view_keyboard(View view) {
view.requestFocusFromTouch();

imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}

为了读取按下的按钮,我使用常规的 onKeyDown(int keyCode, KeyEvent event),在 Android Lollipop 更新之前它一直运行良好。

我发现了另一个帖子“Android Lollipop soft keyboard doesn't accept keypresses with GL surface”,其中的人遇到了完全相同的问题(截至 2015 年 3 月 26 日也没有得到答复)。

我感谢所有可以帮助我解决这个恼人问题的人,

谢谢你,爱德华。

我刚刚发现它只发生在横向。出于我的目的,我强制横向放置,然后全屏键盘打开并弄乱了一切。如何在强制打开键盘时更改代码中没有全屏选项的键盘输入类型?请记住,没有 EditText 或类似的东西。

最佳答案

onKeyDown 从来没有工作过。该功能仅适用于硬件键(音量、物理键盘等)。唯一可能有效的方法是,如果您欺骗键盘认为您是空输入连接,并且它试图进入最愚蠢的可能模式,那么我什至不确定它是否会起作用,而且如果它确实起作用,也只能与键盘的子集一起使用。可靠地从软键盘获取输入的唯一方法是让您的 View 从 onCreateInputConnection 返回一个 InputConnection 并在那里实现按键和提交文本功能。请注意,绝大多数 Android 键盘根本不实现类似按键的功能,它们通过 commitText 完成所有操作,偶尔还编写文本,因为它们的 API 更加丰富。

关于java - Android Lollipop 强制打开软键盘不接受按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29274854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com