我在Android中有自定义键盘。我想在我的键盘上有一个按钮,按下该按钮将隐藏我的键盘并显示用户指定为默认键盘的键盘。 (如果最坏的情况发生,我会接受一个只显示用户未指定的默认Android键盘的解决方案。)
我试过这段代码:
private void showSoftKeyboard()
{
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);
}
但那没有做任何事。
我该怎么办?
编辑一个:
我正在记录我搞清楚这一点的进展。
到目前为止,我已经找到了如何获取默认用户设置键盘:
String currentKeyboard = Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
基于这篇文章:How to detect if user's keyboard is Swype?
我相信InputMethodManager
类中有一个允许您设置InputMethod的方法。我认为这是真的,因为这篇文章:Android: switch to a different IME programmatically
现在我只需弄清楚如何弄清楚如何获取默认键盘的ID,然后我就可以实现此功能。