需求:
將新安裝的輸入法設爲可用,不用進設置中添加
解決過程:
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方法中監聽到,在這裏邊加上讓輸入法可用的邏輯,就可以了。
做這個好久了,只寫了一下思路,要是有不對的地方,歡迎糾正。