|
|
1
18
即使有硬键盘,也需要重写InputMethodService方法OneEvaluateInputViewShowed()以将其计算为true。看见 onEvaluateInputShown() 以及 InputMethodService 。请尝试创建自己的自定义InputMethodService类以重写此方法。 编辑:编辑 source for onEvaluateInputShown() 应该有帮助。解决方案应该很简单,只需创建自己的类来扩展InputMethodService,并重写这个方法,这个方法只有几行长。还要确保将自定义服务添加到清单中。 来源:
Here 是否可以检查可能的配置。配置键盘按键对应于没有硬件键盘。如果没有硬件键盘或硬件键盘隐藏,此方法将返回true(应显示软键盘)。即使连接了硬件键盘,删除这两个检查并简单地返回true也会使软件键盘可见。 尝试(未测试):
因为这个返回值不会改变,所以您不需要自己调用updateInputViewShowed()。如果以不同方式修改此方法,请务必记住此细节。 |
|
|
2
2
软键盘在不同的平台上可能有不可预测的行为。首先,在代码中,确保有一个可编辑的输入控件。例如,如果你有EditText,你可以使用:
但是,您可以随时显示和隐藏它,使用:
你也可以在里面添加这些事件
然而,如果由于某种原因上述任何一项都失败了,你最好的选择可能是使用另一种键盘,例如。 Compass Keyboard , 或 你甚至可以建立自己的:
看到了吗
example of a keyboard
实施
你可能还想看看 GingerBread Keyboard source. |
|
|
3
1
如果你的应用程序有
WRITE_SECURE_SETTINGS
权限(可用于系统应用程序或Android Things应用程序)它可以设置
|
|
|
4
0
有趣的是,这在我的应用程序中起了作用,也是一个kiosk应用程序。 这有点简单,我事先做了一些检查,IMM是否为null等等。
|
|
|
5
-1
据此, https://stackoverflow.com/a/24287780/2233069 ,我为Kiosk模式制定了工作解决方案。
|