【发布时间】:2010-03-12 00:06:01
【问题描述】:
我正在硬件设备上开发一个应用程序,该设备具有内置的硬件键盘,该键盘不会滑出,因此始终可见(如黑莓)。因此,我从不希望软键盘显示在我的整个应用程序中。我知道another SO question 给出了以下代码行:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
但我不知道在哪里放置此代码以将软键盘隐藏在它可能出现在我的 Activity 中的所有位置。我尝试将代码添加到Activity.onUserInteraction 无济于事。似乎键盘出现在 onUserInteraction 执行之后。
我还尝试将以下内容添加到我的<Activity>:
<activity
android:windowSoftInputMode="stateAlwaysHidden"
>
软键盘仍然出现。
【问题讨论】:
-
我在演示中解决这个问题的方法是关闭整个手机的 Android 键盘:“设置 -> 语言和键盘 -> Android 键盘(取消选中)”。由于手机带有始终可见的硬键盘,因此无论如何这似乎都是合适的。感谢 CommonsWare 和 Macarse,他们为遇到此问题的其他人提供了很好的指导。
-
还有一件事,如果你发现自己也有同样的情况,请点击 CommonsWare 的 cmets 中的链接到 Android bug 7115 并点击星号投票。