B、KK中切换系统语言后默认输入法会自动切换到latin输入法

本文介绍了解决JB和KK系统中切换语言后默认输入法自动变为Latin的问题。通过修改inputmethodmanagerservice.java文件中的广播接收器,可以避免语言变更时默认输入法被重置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

B、KK中切换系统语言后默认输入法会自动切换到latin输入法

【描述】
JB、KK中切换系统语言后默认输入法会自动切换到latin输入法,或者系统预置的默认输入法不能生效
【解法】
JB解决方案:
可以在文件inputmethodmanagerservice.JAVA
在构造函数InputMethodManagerService中的最后面,将接收语言改变广播的事件注释掉:
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_LOCALE_CHANGED);
mContext.registerReceiver(
new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
synchronized(mMethodMap) {
// checkCurrentLocaleChangedLocked(); //将此行注释掉
}
}
}, filter);
这样就可以了。
KK解决方案:
可以在文件inputmethodmanagerservice.java中
在构造函数InputMethodManagerService中的最后面,将接收语言改变广播的事件注释掉:
final IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_LOCALE_CHANGED);
mContext.registerReceiver(
new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
synchronized(mMethodMap) {
//resetStateIfCurrentLocaleChangedLocked();//将此行注释掉
}
}
}, filter);
这样就可以了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值