我的
if (enabledStr == null || TextUtils.isEmpty(defaultIme)) {
Slog.i(TAG, "Enabled input methods or default IME has not been set, enabling all");
InputMethodInfo defIm = null;
StringBuilder sb = new StringBuilder(256);
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());
if (defIm == null && imi.getIsDefaultResourceId() != 0) {
try {
Resources res = mContext.createPackageContext(
imi.getPackageName(), 0).getResources();
if (res.getBoolean(imi.getIsDefaultResourceId())) {
defIm = imi;
Slog.i(TAG, "Selected default: " + imi.getId());
}
} catch (PackageManager.NameNotFoundException ex) {
} catch (Resources.NotFoundException ex) {
}
}
}
//ruanjx 2012/05/05 set default input method
if (android.util.Config.OEMMODIFYFLG) {
String default_input_method=SystemProperties.get("ro.sys.def_input_method");
//String default_input_method="com.iflytek.inputmethod/.FlyIME";
Log.e("TAG", ".........................bbbbbbbbb");
if (defIm == null && N > 0) {
for (int i = 0; i < N; i++) {
if((!TextUtils.isEmpty(default_input_method))&&(((defIm = mMethodList.get(i)).getId()).equals(default_input_method))) {
Log.e("TAG","defIm.getId() = " + defIm.getId());
defIm = mMethodList.get(i);
}
}
if (defIm == null) {
defIm = mMethodList.get(0);
Slog.i(TAG, "No default found, using " + defIm.getId());
}
}
}
else {
if (defIm == null && N > 0) {
defIm = mMethodList.get(0);
Slog.i(TAG, "No default found, using " + defIm.getId());
}
}
Settings.Secure.putString(mContext.getContentResolver(),
Settings.Secure.ENABLED_INPUT_METHODS, sb.toString());
if (defIm != null) {
Settings.Secure.putString(mContext.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD, defIm.getId());
}
}
mSettingsObserver = new SettingsObserver(mHandler);
updateFromSettingsLocked();
}
别人的
if (enabledStr == null || TextUtils.isEmpty(defaultIme)) {
Slog.i(TAG, "Enabled input methods or default IME has not been set, enabling all");
InputMethodInfo defIm = null;
StringBuilder sb = new StringBuilder(256);
final int N = mMethodList.size();
//wuzhb 2012-05-05 support ime default setting
String defaultSetting=android.os.SystemProperties.get("ro.sys.default_ime");
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());
//wuzhb 2012-05-05 support ime default setting
if(defIm==null && imi.getId().equals(defaultSetting)){
defIm=imi;
}
//end update
if (defIm == null && imi.getIsDefaultResourceId() != 0) {
try {
Resources res = mContext.createPackageContext(
imi.getPackageName(), 0).getResources();
if (res.getBoolean(imi.getIsDefaultResourceId())) {
defIm = imi;
Slog.i(TAG, "Selected default: " + imi.getId());
}
} catch (PackageManager.NameNotFoundException ex) {
} catch (Resources.NotFoundException ex) {
}
}
}
if (defIm == null && N > 0) {
defIm = mMethodList.get(0);
Slog.i(TAG, "No default found, using " + defIm.getId());
}
Settings.Secure.putString(mContext.getContentResolver(),
Settings.Secure.ENABLED_INPUT_METHODS, sb.toString());
if (defIm != null) {
Settings.Secure.putString(mContext.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD, defIm.getId());
}
}
mSettingsObserver = new SettingsObserver(mHandler);
updateFromSettingsLocked();
}