private void loadSecureSettings(SQLiteDatabase db) {//在此方法最后面添加如下
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.def_input_method);
}
找到frameworks/base/packages/SettingsProvider/res/values/defaults.xml
<!--添加你想要添加的输入法-->
<string name="def_input_method" translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string>
找到frameworks/base/core/java/com/android/internal/inputmethod/InputMethodUtils.java
public void enableAllIMEsIfThereIsNoEnabledIME() {
// if (TextUtils.isEmpty(getEnabledInputMethodsStr())) {//删除
if (!TextUtils.isEmpty(getEnabledInputMethodsStr())) {//添加
StringBuilder sb = new StringBuilder();
final int N = mMethodList.size();
for (int i = 0; i < N; i++) {
InputMethodInfo imi = mMethodList.get(i);
Slog.i(TAG, "Adding: " + imi.getId());
if (i > 0) sb.append(':');
sb.append(imi.getId());
}
putEnabledInputMethodsStr(sb.toString());
}
}