主要获取InputMethodManager中的方法
((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
.setInputMethod(null, NewInputMethodName);
如何获取NewInputMethodName
系统的是com.android.inputmethod.latin/.LatinIME 这个是英文的
com.iflytek.inputmethod/.FlyIME 这个是讯飞的
如果是未知的第三方输入法
需要一个root过的设备
然后
1,adb shell
2,pm list packages -f:列出所有的包名。 找出相应的包名
3,dumpsys package com.android.XXX:查看某个包的具体信息
找到相关的服务部分就是 那个名字了。
注意此方法是需要系统权限的哦 。。。
如果只是普通应用,只能弹出弹窗让用户选择了。
具体也是InputMethodManager的方法
showInputMethodPicker 跟上述一样调用即可
延伸
关于android系统输入法的框架的文章
http://www.2cto.com/kf/201608/543690.html
如果是想要自定义一个输入法,就必须的继承InputMethodService 然后进行相关操作。