Jump to content

Detecting Android tablets vs phones with User Agent


techman41973

Recommended Posts

I inherrited a site that has PHP code that decides to either serve the dedicated mobile site or desktop site to the user.
I would prefer that tablets get served the mobile site. Currently Android tablet users get served the desktop site.
I'd like to figure out how I can implement User Agent to detect an android tablet (with distinction from an Android phone)
This is the code I'm working with to determine which site to serve (mobile or desktop)

Thanks

 

if ((strpos($user_agent, 'Mobile') === false &&     // Generic mobile browser string, most browsers have it.
strpos($user_agent, 'SymbianOS') === false &&    // Nokia device running Symbian OS.
strpos($user_agent, 'Opera M') === false && // Opera Mini or Opera Mobile.
strpos($user_agent, 'Android') === false && // Android devices that don't have 'Mobile' in UA string.
stripos($user_agent, 'HTC_') === false &&    // HTC devices that don't have 'Mobile' nor 'Android' in UA string. Case insensitive.
strpos($user_agent, 'Fennec/') === false &&     // Firefox mobile
strpos($user_agent, 'Kindle') === false &&     // Kindle Fire tablet
strpos($user_agent, 'BlackBerry') === false) ||    // BlackBerry
strpos($user_agent, 'iPad') === false)    // iPad
{
// Serve Desktop Site
return false;
}
 

I assume you are parsing from the user agent which does not determine which one it is.

 

Instead you have to discover the devices screen size and judge for yourself by sizes which of your layouts you want to use.

 

context.getResources().getDisplayMetrics();

 

http://bit.ly/1y9XIP9

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.