我正在使用 URLConnection 从 Android 应用程序下载 html 文件。但我想要基于设备区域设置的 HTML 内容。
假设用户从德语区域发送请求,则响应应采用德语。我期望 URLConnection 应根据设备区域设置发送接受语言,类似于 ajax 调用。但 URLConnection 发出的请求中不存在接受语言 header 。
我需要显式设置请求 header 还是有其他选择?
提前致谢。
最佳答案
您可以使用以下任意一项来获取您格式的设备区域设置语言 -
Locale.getDefault().getLanguage() ---> en
Locale.getDefault().getISO3Language() ---> eng
Locale.getDefault().getCountry() ---> US
Locale.getDefault().getISO3Country() ---> USA
Locale.getDefault().getDisplayCountry() ---> United States
Locale.getDefault().getDisplayName() ---> English (United States)
Locale.getDefault().toString() ---> en_US
Locale.getDefault().getDisplayLanguage()---> English
来源 - Refer here
您可以在请求中提供 Accept-Language header ,例如 -
URL url = new URL("website url");
URLConnection urlconnection = url.openConnection();
urlconnection.setRequestProperty("Accept-Language", "en-GB");
关于android - 在android中使用URLConnection时,未在请求 header 中设置"Accept-language"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45916537/