updateSelection
).
我可以这样得到对InputMethodManager的引用
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
我的问题是,这似乎只适用于系统键盘.我可以将InputMethodManager用于custom in-app keyboard吗?如果只是一个孤立的应用程序,我不在乎,但我在一个库中包括一个将在许多应用程序中使用的自定义键盘.我需要一种标准的方式让编辑器与键盘进行通信.
我是否必须编写自己的输入法管理器,或者有一种方法可以将标准的InputMethodManager与我的自定义应用内键盘一起使用?
更新
以下是一些线索,说明如果无法使用标准输入法管理器,我将如何实现自己的自定义输入法管理器.
> InputMethodManager(documentation)(source code)
> InputMethod
interface
> InputMethodSession
interface
> KeyboardView.OnKeyboardActionListener
interface(键盘实现它)
> InputMethodService(键盘扩展此)(documentation)(source code)
解决方法
InputMethodService provides a standard implementation of an InputMethod,which final implementations can derive from and customize. See the base class AbstractInputMethodService and the InputMethod interface for more information on the basics of writing input methods.