当系统的语言改变时,选择的输入法会变成默认输入法:
实现的过程在:InputMethodManagerService.java中的:
mContext.registerReceiver(// 这里对语言改变广播的监听。
new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
synchronized(mMethodMap) {
checkCurrentLocaleChangedLocked();//当接收到语言改变发送的广播时执行方法
}
}
}, filter);
在checkCurrentLocaleChangedLocked()方法中:
有个updateFromSettingsLocked()方法
updateFromSettingsLocked()这个方法:
void updateFromSettingsLocked() {
// We are assuming that whoever is changing DEFAULT_INPUT_METHOD and
// ENABLED_INPUT_METHODS is taking care of keeping them correctly in
// sync, so we will never have a DEFAULT_INPUT_METHOD that is not
// enabled.
String id = Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD);//获取默认输入法
// There is no input method selected, try to choose new applicable input method.
if (TextUtils.isEmpty(id) && chooseNewDefaultIMELocked()) {
id = Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD);
}
if (!TextUtils.isEmpty(id)) {
try {
setInputMethodLocked(id, getSelectedInputMethodSubtypeId(id));//设置当前输入法为默认输入法。
} catch (IllegalArgumentException e) {
Slog.w(TAG, "Unknown input method from prefs: " + id, e);
mCurMethodId = null;
unbindCurrentMethodLocked(true);
}
mShortcutInputMethodsAndSubtypes.clear();
} else {
// There is no longer an input method set, so stop any current one.
mCurMethodId = null;
unbindCurrentMethodLocked(true);
}
}
系统语言改变时,输入法变成默认输入法分析
转载文章标签 输入法 java ide 前端 数据 数据库 编程语言 文章分类 代码人生
上一篇:[Python] 动态类型的实现
-
如何设置word的默认输入法——搜狗输入法
可开Word时 默认的是微软的输入法 把微软输入法删了 默认
输入法 搜狗 office 文档 微软 -
Android 8.0 内置谷歌输入法,并将它作为默认输入法
删除 AOSP默认输入法build\make\target\product\core.mk这样内置谷歌输
内置默认谷歌输入法 Android Rom开发 王睿丶 framework -
Android 获取系统默认输入法
import android.provider.Settings; import android.text.TextUtils;
输入法 android 包名 ide 类名 -
JavaScript修改系统默认输入法
一、js的引入js的引入举例:<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>引入javavscript</title> <!-- <script type="text/jscript"></script>
JavaScript修改系统默认输入法 java javascript html 数据类型