【发布时间】:2017-07-15 19:18:16
【问题描述】:
我知道this 之前提出的关于 WebView 在 Android N 中被破坏的问题,尤其是在本地化方面。我还有一个问题,我不知道如何解决。
如 pic 所示,我在运行 7.1.1 的 Pixel 设备上设置了两种语言。现在,我正在尝试在我的应用程序的 WebView 中加载以下 url。
"https://accounts.google.com/ServiceLogin?<my-params>"
我注意到页面以中文而不是我当前的语言环境加载的英文。我尝试在我的 Chrome 桌面(我使用与手机相同的帐户登录)上打开上述链接,它也以中文加载!我去了 Chrome 的设置,发现它们的语言首选项已保存到我的帐户中,因为它们也显示在 中。
我确实尝试在我的应用程序中 setContentView() 之前设置语言环境,如下所示:
public static void setLocale(Locale locale){
Locale.setDefault(locale);
Configuration config = new Configuration();
config.setLocale(locale);
Context context = MyApplication.getInstance();
context.getResources().updateConfiguration(config,
context.getResources().getDisplayMetrics());
}
但徒劳无功。如果我输入一个日志语句,它会打印出正确的Locale,即en-US。 WebView 仍然以中文加载页面。关于如何解决它的任何想法?
【问题讨论】:
标签: android webview android-7.0-nougat