Android修改默认输入法为搜狗方法如下:
1、修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml 添加一行:
<string name="config_default_input_method" translatable="false">com.sohu.inputmethod.sogouoem/.SogouIME</string>
注释:com.sohu.inputmethod.sogouoem/.SogouIME 为搜狗输入法ID,若想修改为其它输入法只需要修改这个ID即可。
2、修改frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
在 private void loadSecureSettings(SQLiteDatabase db) {} 方法中添加一行
loadStringSetting( stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.config_default_input_method );
private void loadSecureSettings(SQLiteDatabase db) {
SQLiteStatement stmt = null;
try {
stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)"
+ " VALUES(?,?);");
loadBooleanSetting(stmt, Settings.Secure.ETHERNET_ON,
R.bool.def_ethernet_on);
loadStringSetting(stmt, Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
R.string.def_location_providers_allowed);
// 添加搜狗输入法开始
loadStringSetting( stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
R.string.config_default_input_method );
// 添加搜狗输入法结束
String wifiWatchList = SystemProperties.get("ro.com.android.wifi-watchlist");
if (!TextUtils.isEmpty(wifiWatchList)) {
loadSetting(stmt, Settings.Secure.WIFI_WATCHDOG_WATCH_LIST, wifiWatchList);
}
// Don't do this. The SystemServer will initialize ADB_ENABLED from a
// persistent system pro