admin管理员组

文章数量:1565370

所有记录的一切,都是为了备忘,并无他意
一,几个重点关注的类:
InputMethodManagerService,负责管理系统的所有输入法,包括输入法service(InputMethodService简称IMS)加载及切换。
InputMethodManager,控件获取焦点之后,通过InputMethodManager向 InputMethodManagerService 发出请求绑定自己到当前输入法上
InputMethodService,输入法apk的service,与IMMS进行交互,用来显示输入法的dialog及通过IInputContext绑定到控件上
IInputMethodWrapper,IMMS和输入法之间的交互的aidl接口,它会把所有的调用转到主线程去执行
IInputContext,控件与输入法之间的通讯aidl接口,例如当前输入法输入的文本回调到控件显示
InputConnectionWrapper,他是InputConnection的代理,代理IInputContext,同时也是输入法控件和编辑控件之间的纽带
IInputMethodClient,代表客户端的aidl接口,他会被传输到WindowManagerService里面进行通讯
IInputConnectionWrapper,用户端的IInputContext的实现,最终会被传入到输入法中,进行交互,就是上面提到的IInputContext;
二,输入法显示流程
1,窗口添加的时候,都会绑定一个ViewRootImpl,在ViewRootImpl初始化的时候,会通过Windo

本文标签: 输入法逻辑android