programacion ejemplos java javascript websphere-portal

java - ejemplos - Detectar el tipo de dispositivo en una aplicación web



javafx ejemplos (7)

Para Java 51Degrees tiene una API gratuita en GitHub https://github.com/51Degrees/Java-Device-Detection , no tiene fecha y debe ser capaz de cubrir todas las detenciones básicas que necesite.

Hay un tutorial sobre cómo utilizar la API para detectar el tipo de dispositivo aquí https://51degrees.com/Developers/Documentation/APIs/Java-V32/Tutorials/Web-App

También hay una versión gratuita en la nube que ofrece la Propiedad DeviceType (si desea algo más que IsMobile) puede encontrar los detalles sobre esto en el sitio web 51Degrees. Deberá "comprar" la nube gratuita a través del sitio web, pero no solicita los datos bancarios y es completamente gratis. También puede usar JavaScript y otra integración dependiendo de sus requisitos.

Divulgación: trabajo a 51 grados.

Tenemos una aplicación basada en Java en la que queremos detectar el tipo de dispositivo (móvil o de escritorio) para el dispositivo que está enviando la solicitud.

¿Como es posible?


Podría obtener una solución de software de terceros. Hay muchos Open Source. He utilizado la solución Java 51Degrees.mobi antes (y también he trabajado en su solución C de código abierto). Sigue ese enlace y presiona el botón de descarga. Es relativamente fácil comenzar a funcionar.


Puede intentar usar Spring Mobile . Hay clases convenientes para resolver eso.

Device currentDevice = DeviceUtils.getCurrentDevice(servletRequest); if(currentDevice.isMobile()) { /* Mobile */ } if(currentDevice.isTablet()) { /* Tablet */ } if(currentDevice.isNormal()) { /* Desktop */ }


Puede obtener información del dispositivo analizando el encabezado http

String browserType = request.getHeader("User-Agent");

Debe analizar browserType para obtener el tipo de dispositivo

Esto puede ayudar

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; }




Deberá leer el encabezado User-Agent de la solicitud y decidir sobre eso.

En las aplicaciones de servlets de vainilla, una forma cruda de hacerlo es:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if(request.getHeader("User-Agent").indexOf("Mobile") != -1) { //you''re in mobile land } else { //nope, this is probably a desktop } }