7.0 Android系统修改默认输入法后,切换系统语言时输入法自动切到AOSP的解决办法
Android 7.0设置默认输入法参考下面的文章
切换系统语言之后,系统会默认将输入法切换到Andorid Keyboard(AOSP)
/frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
isSystemImeThatHasSubtypeOf()方法中添加
if ("com.google.android.leanback.ime".equals(imi.getPackageName())) {
return true;
}
因为我默认使用的是Leanback Keyboard所以设置包名com.google.android.leanback.ime
2018年3月23日更新
发现该问题有了新的解决办法
在AOSP输入法应用中,找到AndroidManifest.xml文件,发现在LatinIME中有一个method文件
继续往下进入发现在xml/method.xml文件中有一个isDefault属性,继续往下看
找到values/bools.xml文件,看到属性im_is_default的解释是,当前输入法是否要被设置为当前locale的默认输入法来支持相应的语言。
也就是说我们可以在每个语言对应的values文件夹下添加bools.xml文件进行默认语言的配置,像这样
所以该问题又可以这样来处理,直接将isDefault="false",则所有语言都不会默认使用AOSP输入法,就解决了