【发布时间】:2014-12-16 07:32:18
【问题描述】:
我实际上测试了这两种格式,我的服务器都可以。由于Http header fields 说“en-US”是格式,而我的本地 java 类返回“en_US”,我有点困惑到底要使用哪一个!
我的部分代码是这样的:
// set accepted language
List<String> acceptedLanguages = null;
final Locale defaultLocale = Locale.getDefault(); // en
if (defaultLocale != null)
{
final String defaultLang = defaultLocale.toString(); // en_US
if (!TextUtils.isEmpty(defaultLang))
{
acceptedLanguages = new ArrayList<String>();
acceptedLanguages.add(defaultLang);
// Always add en as fallback if applicable
if (!HttpClient.DEFAULT_ACCEPTED_LANGUAGE_COUNTRY.equals(defaultLang))
{
acceptedLanguages.add(HttpClient.DEFAULT_ACCEPTED_LANGUAGE_COUNTRY);
}
}
}
String header = HttpClient.getAcceptLanguageHeader(acceptedLanguages); // like: cz_CH;q=1.0, en_US;q=0.9
this.mHttpGetRequest.addHeader(HttpHeaders.ACCEPT_LANGUAGE, header);
如果用户的设备语言不是en_US,则getAcceptLanguageHeader() 方法将en_US;q=0.9 添加到字符串中。
任何想法将不胜感激。谢谢。
【问题讨论】:
标签: java android http-headers http-accept-language