方式一
frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java
Settings.System.putString(context.getContentResolver(),Settings.System.SYSTEM_LOCALES, "ru-RU,en-US");
方式2
packages/apps/Settings/src/com/android/settings/localepicker/LocaleListEditor.java
private boolean isadd = true; private List<LocaleStore.LocaleInfo> getUserLocaleList() { final List<LocaleStore.LocaleInfo> result = new ArrayList<>(); final LocaleList localeList = LocalePicker.getLocales(); for (int i = 0; i < localeList.size(); i++) { Locale locale = localeList.get(i); result.add(LocaleStore.getLocaleInfo(locale)); if(locale.toString().equals("en_US")) { isadd = false; } } if(isadd){ Locale localeVN =new Locale("en","US"); result.add(LocaleStore.getLocaleInfo(localeVN)); } return result; }方式三
import com.android.internal.app.LocalePicker; import java.util.Locale; import android.os.LocaleList; final Locale locale1 = new Locale("ru","RU"); final Locale locale2 = new Locale("en","US"); final Locale[] newList = {locale1,locale2}; final LocaleList ll = new LocaleList(newList); LocalePicker.updateLocales(ll); //这个方式需要添加权限// 设置添加 输入法语言列表,同时自动关闭 'use system languages' 这里是英语和俄语
Settings.Secure.putString(getContentResolver(), "enabled_input_methods", "com.android.inputmethod.latin/.LatinIME;-921088104;1983547218");