El problema con las consultas de medios es que detectan el número de píxeles del navegador o la pantalla. Como está buscando un sistema operativo móvil, su código también detectaría, por ejemplo, un navegador 4K Android TV, aunque podría tener muchos más píxeles que un teléfono inteligente.
La mejor manera de tener una buena experiencia de usuario es, en mi opinión, ser receptivo basado en la resolución, no en la plataforma. Use un diseño móvil para un ancho de 400 px, un diseño fluido a 1024 px y un contenedor centrado para todo lo más grande. Puede usar consultas de medios CSS o las implementaciones screen.width o body.innerWidth de JavaScript.
Si todavía está buscando resultados basados en la plataforma, lo que está haciendo es lo suficientemente bueno, simplemente extiéndalo a otras plataformas móviles importantes. Esta pregunta sobre Stack Overflow tiene una buena implementación de la misma: detectar un navegador móvil.
- Cuando haces una llamada telefónica a alguien de otro continente, ¿siempre hay fibras de vidrio involucradas cruzando el océano o se usan satélites?
- Cómo obtener una aplicación para traducir inglés a cualquier otro idioma
- ¿Cuál es la mejor aplicación para usar en Tailandia?
- ¿Es posible cambiar el nombre de las aplicaciones de Android?
- ¿Cuáles son las características que desearías en Whatsapp?
¡La mejor de las suertes!