Android系统中的Android键盘(AOSP)有个语言设置选项,里面默认的是“使用系统语言”,现在客户要求关闭默认“使用系统语言”,打开美式英语。即默认如下图:
网上很多方法都是设置输入法的Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE属性为 -921088104。实际测试在Android11系统中没有效果。
另外一种方法是,在设置使能输入法的时候,传入输入法默认输入语言的哈希值。即在设置Settings.Secure.ENABLED_INPUT_METHODS属性值的时候,后面添加默认语言。修改方法是在frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java中添加ENABLED_INPUT_METHODS属性的设置语句。
private void loadSecureSettings(SQLiteDatabase db) {SQLiteStatement stmt = null;try {stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)"+ " VALUES(?,?);");// Don't do this. The SystemServer will initialize ADB_ENABLED from a