Java Android棒棒糖强制打开软键盘';我不接受按键

Java Android棒棒糖强制打开软键盘';我不接受按键,java,android,keyboard,android-5.0-lollipop,Java,Android,Keyboard,Android 5.0 Lollipop,我正在开发一个与服务器通信的应用程序,需要强制打开键盘并将键盘上按下的字符发送到服务器 一切正常,直到我的手机升级到安卓棒棒糖,现在键盘突然打开,但对任何互动都没有反应。另一方面,当我尝试键入键盘字母时,键盘布局下的所有按钮都会做出反应。这意味着键盘布局让一切都通过了 我使用按钮打开键盘: public void b_view_键盘(视图){ view.requestFocusFromTouch(); imm=(InputMethodManager)getSystemService(Contex

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

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

我使用按钮打开键盘:

public void b_view_键盘(视图){
view.requestFocusFromTouch();
imm=(InputMethodManager)getSystemService(Context.INPUT\u方法\u服务);
imm.toggleSoftInput(InputMethodManager.SHOW\u强制,0);
}
为了阅读按下的按钮,我使用了一个常规的
onKeyDown(int-keyCode,KeyEvent事件)
,它在Android棒棒糖更新之前一直工作得很好

我发现另一个帖子“”中的人有完全相同的问题(截至2015年3月26日也没有回答)

我感谢所有能帮我解决这个烦人问题的人

谢谢,, 爱德华


我刚发现它只发生在横向。为了达到我的目的,我强制进行横向定位,然后全屏键盘打开,把事情搞砸了。在强制打开键盘时,如果代码中没有全屏选项,如何更改键盘输入类型?请记住,没有EditText或类似内容。

onKeyDown从未起作用。该功能仅适用于硬件键-音量、物理键盘等。唯一可行的方法是,如果你欺骗键盘,使其认为你是一个空输入连接,然后它试图进入最愚蠢的模式-我甚至不确定它是否会工作,如果它能工作,那么它将只适用于键盘的一个子集。从软键盘可靠获取输入的唯一方法是让视图从onCreateInputConnection返回InputConnection,并在其中实现按键和提交文本功能。请注意,绝大多数android键盘根本没有实现类似键的功能,它们通过CommitteText做任何事情,偶尔也会编写文本,因为它们的API要丰富得多。

onKeyDown方法不是问题的主题。请不要发表这样无益的评论。谢谢,这就是问题所在。100%解决了这个问题。请不要认为你比花了4年时间编写Android键盘的人更了解。你好,盖布·塞坎。我道歉。我没有试图冒犯一个比我更有经验的人。我只是从不同的主题中得到了解决问题的信息,比如听软键盘。请调查这个问题。创建一个只需一个按钮的应用程序。按下按钮时,用力打开键盘。就是这样,不包括侦听器或onKeyDown事件。运行应用程序并强制键盘显示时,在纵向模式下,所有按钮都会做出反应。将手机翻转到横向模式后,只有最上面一层的按键会做出反应。这只是因为棒棒糖突然安装了。也可以在模拟器中对此进行模拟。我怎样才能解决这个问题?非常感谢。