Android中如何确定当前的IME?
我有一个应用程序,如果用户没有使用默认的 Android 软键盘,我想警告他们。 (即他们正在使用 Swype 或其他东西)。
如何查看他们当前选择的输入法?
I have an application where I would like to warn the user if they are not using the default Android softkeyboard. (i.e. they are using Swype or some thing else).
How can I check which input method they currently have selected?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以获得默认 IME,使用:
You can get a default IME, use:
InputMethodManager
有getEnabledInputMethodList()
。您可以从Activity
中的getSystemService()
获得一个InputMethodManager
。从 API 34 开始,
InputMethodManager
还有一个方法getCurrentInputMethodInfo()
似乎返回当前选定的 IME。InputMethodManager
hasgetEnabledInputMethodList()
. You get anInputMethodManager
fromgetSystemService()
in yourActivity
.As of API 34,
InputMethodManager
also has a methodgetCurrentInputMethodInfo()
which appears to return the currently selected IME.下面是我用来确定是否使用 GoogleKeyboard、Samsung Keyboard 或 Swype Keyboard 的一些代码。 mCurId 反射返回的值表示 IME ID。
使用您正在寻找的不同键盘/输入法进行测试,以找到相关的键盘/输入法
Here's a bit of code I used to determine if GoogleKeyboard, Samsung Keyboard, or Swype Keyboard is used. The value returned by reflection for mCurId indicates the IME ID.
Test with the different keyboards/input methods you are looking for to find the relevant one