b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

为什么有时候切换系统语言,输入法也随之切换在系统

电脑杂谈  发布时间:2021-02-07 14:04:19  来源:网络整理

为什么有时会切换系统语言,并相应地切换输入法

当系统具有Google拼音输入法(拼音输入法)和android键盘输入法(拉丁语输入法)时,系统的输入法不是第三方输入法。

此时切换系统语言:

切换到中文时,无论是拼音输入法(或未选中拼音输入法),现在都会自动切换到Google中文输入法

切换到英语时,无论之前是否使用拉丁输入法(或未选中拉丁输入法),它现在都会自动切换到android键盘输入法

原因:

系统完成语言翻译后,

首先,IME服务将通过buildInputMethodListLocked()检查所有未检查的系统输入方法,

安卓更换输入法_微信对方正在输入 安卓_输入10个数冒泡法排序c语言

然后,IME服务(InputMethodManagerServices.Java)将收到ACTION_LOCALE_CHANGED的广播,

最终的IntentFilter过滤器= new IntentFilter();

filter.addAction(Intent.ACTION_LOCALE_CHANGED);

mContext.registerReceiver(

new BroadcastReceiver(){

@Override

public void onReceive(上下文上下文,意图意图){

安卓更换输入法_输入10个数冒泡法排序c语言_微信对方正在输入 安卓

已同步(mMethodMap){

resetStateIfCurrentLocaleChangedLocked();

}

}

},过滤器);

}

然后,将使用resetStateIfCurrentLocaleChangedLocked()方法--->最后调用resetDefaultImeLocked(),

安卓更换输入法_输入10个数冒泡法排序c语言_微信对方正在输入 安卓

在resetDefaultImeLocked()中,将判断它是否是SYSTEM IME,并最终通过setSelectedInputMethodAndSubtypeLocked()设置当前系统的输入法。

通过语言开关更改输入法。

注意:如果当前输入法是第三方,则在上述语言切换后,输入法将不会更改。因为直接阻止对resetDefaultImeLocked()中是否为系统输入法的判断。

在resetDefaultImeLocked方法的开头,是要做出判断:

if(mCurMethodId!= null &&!InputMethodUtils.isSystemIme(mMethodMap.get(mCurMethodId))){

返回;

}

这是android的原始设计。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-354595-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 王易从
        王易从

        请问

      • 孟灿
        孟灿

        我们就出兵叙利亚对美国支持武装份子往死里狂轰滥炸出一口窝囊气

      • 朱武需
        朱武需

        婚姻制度实际上在快速走向消亡

      热点图片
      拼命载入中...