需求:
将新安装的输入法设为可用,不用进设置中添加
解决过程:
1. 输入法相关,肯定要找输入法服务,于是找到\frameworks\base\services\java\com\android\server\InputMethodManagerService.java
2.阅读代码,在代码中发现,有输入法安装卸载监听类PackageMonitor,但是只实现了部分方法,onSomePackagesChanged,onHandleForceStop,
因此想到,可以增加输入法安装监听。
3.重写frameworks\base\core\java\com\android\internal\content\PackageMonitor.java中的方法
public void onPackageAdded(String packageName, int uid) {
}
public void onPackageRemoved(String packageName, int uid) {
}
若安装新的输入法,可以再onPackageAdded方法中监听到,在这里边加上让输入法可用的逻辑,就可以了。
做这个好久了,只写了一下思路,要是有不对的地方,欢迎纠正。