Android 7.0 设置语言失效

在Android 7.0系统中,一个App在内部尝试设置语言时,若涉及到WebView,锤子手机会出现语言自动切换为中文的情况。原因可能是WebView根据地理位置自动调整语言。解决方法是在使用WebView的页面的onPause方法中重新设置所需语言,以防止被WebView影响。
摘要由CSDN通过智能技术生成

场景

App需要在内部设置语言 , 而不是跟随系统语言 , 7.0一下的机型没有问题 , 唯独在锤子手机上出现了问题 , 在设置为英文时 , 只要打开一些布局有WebView 或者有用到WebView的页面 , 语言就会变成中文 .

原因

应该是WebView在使用过程中会设置语言 , 比如说你在中国打开Facebook的网站 , 你的网页就是中文的 , 如果是美国就是英文的 , 这可能就是原因 .

解决

在使用到WebView的页面的onPause中 , 重新设置语言.

    @Override
    protected void onPause() {
        super.onPause();
        Resources resources = getResources();
        Configuration configuration = resources.getConfiguration();
        DisplayMetrics displayMetrics = resources.getDisplayMetrics();
        if (isChina) {
            configuration.locale = Locale.CHINA;
        } else {
            configuration.locale = Locale.ENGLISH;
        }
        resources.updateConfiguration(configuration, displayMetrics);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值