場景
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);
}