У нас есть приложение на базе Java, в котором мы хотим определить тип устройства (мобильное или настольное) для устройства, отправляющего запрос.
Как это возможно?
Вы можете попробовать эту библиотеку, я думаю, yauaa может определить строку пользовательского агента, какое устройство / программное обеспечение
Вы можете получить информацию об устройстве, проанализировав заголовок http
String browserType = request.getHeader("User-Agent");
. Вы должны проанализировать browserType, чтобы получить тип устройства
. Это может помочь
public String getBrowserInfo( String Information )
{
String browsername = "";
String browserversion = "";
String browser = Information;
if (browser.contains("MSIE"))
{
String subsString = browser.substring(browser.indexOf("MSIE"));
String info[] = (subsString.split(";")[0]).split(" ");
browsername = info[0];
browserversion = info[1];
} else if (browser.contains("Firefox"))
{
String subsString = browser.substring(browser.indexOf("Firefox"));
String info[] = (subsString.split(" ")[0]).split("/");
browsername = info[0];
browserversion = info[1];
} else if (browser.contains("Chrome"))
{
String subsString = browser.substring(browser.indexOf("Chrome"));
String info[] = (subsString.split(" ")[0]).split("/");
browsername = info[0];
browserversion = info[1];
} else if (browser.contains("Opera"))
{
String subsString = browser.substring(browser.indexOf("Opera"));
String info[] = (subsString.split(" ")[0]).split("/");
browsername = info[0];
browserversion = info[1];
} else if (browser.contains("Safari"))
{
String subsString = browser.substring(browser.indexOf("Safari"));
String info[] = (subsString.split(" ")[0]).split("/");
browsername = info[0];
browserversion = info[1];
}
return browsername + "-" + browserversion;
}
. Вы можете проверить HTTP-заголовок User-Agent
объекта HttpServletRequest
.
Ссылка: http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#user-agent