InputMethodService继承自AbstractInputMethodService,AbstractInputMethodService继承自Service。
首先了解一下InputMethod接口是什么,看了源代码中的注释后,总结如下。InputMethod接口表示一个输入方式,它能够产生key事件、text,比如数字,邮箱地址,CJK字符,其它语言字符等。它可以处理很多输入事件,并且把text发送给指定的application;InputMethod的方法createSession返回一个SessionCallback,SessionCallback可以被客户端使用,让客户端通过它和输入法交互。
分析一下AbstractInputMethodService。它是一个abstract类,继承自Service,并且implements KeyEvent.Callback。AbstractInputMethodService类中有私有成员mInputMethod,它属于InputMethod接口。抽象内部类AbstractInputMethodImpl实现了InputMethod,而mInputMethod引用了这个类的对象。
时间: 2024-10-05 21:20:29