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

d9cbc348d28a96c86ab3cecc0cd7f687.png

2018年3月23日更新

发现该问题有了新的解决办法

在AOSP输入法应用中,找到AndroidManifest.xml文件,发现在LatinIME中有一个method文件

d7bfe098903c777b0f56455cec205c27.png

继续往下进入发现在xml/method.xml文件中有一个isDefault属性,继续往下看

b6ea8ab89b05c756d3a9f178fa929299.png

找到values/bools.xml文件,看到属性im_is_default的解释是,当前输入法是否要被设置为当前locale的默认输入法来支持相应的语言。

46e15ce9f5f4fc8916649e126fd8f19c.png

也就是说我们可以在每个语言对应的values文件夹下添加bools.xml文件进行默认语言的配置,像这样

1e6320b5c20daf08fac62f0b0eea20b6.png

所以该问题又可以这样来处理,直接将isDefault="false",则所有语言都不会默认使用AOSP输入法,就解决了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐