Qui c'è una classe già testata, funzionante e con diversi metodi che possono tornare utili.

https://github.com/serbanghita/Mobile-Detect