Android HTTP调用未设置接受语言标题



我已经将我的Google Nexus 4设备设置为Français (France)设置,并且AM浏览了通过客户端通过Accept-Language HTTP标题进行本地化的站点。

但是,当我查看到达服务器的Accept-Language设置时,我发现只是en-US

如果我使用海豚浏览器在同一设备上查看同一站点,则标题为fr-FR,en-US;q=0.8,并且该网站以法语正确显示。

Nexus 4是开发设备,运行Android 4.4.2;Nexus 4 Build/kot49h。Chrome的版本为32.0.1700.99。

有人知道我如何获得Chrome来纪念设备的语言设置吗?

我正在开发一个Android应用程序,并期望HTTP客户端org.apache.http.client.HttpClient在调用我的Web服务时会尊重设置Accept-Language HTTP标头。但是事实并非如此,我想弄清楚原因。

Chrome浏览器也表现出这种行为,所以我想我会看到其他人是否有这个问题(发布我的代码有点令人费解,并不合适)。

我真的必须根据我从Locale.getDefault().getLanguage()获得的内容明确设置HTTP标题?

似乎不是能够通过Android设置设置用户语言的目的。

那么,您是否正在执行以下步骤?(我可以从您的问题中想象您已经是,但是我想检查一下,因为这对我有用)

  HttpClient client = new DefaultHttpClient();
  HttpPost request = new HttpPost(webServiceUrl);
  request.addHeader("Accept-Language", "fr");
  HttpResponse response = client.execute(request);

最新更新