Pick up the Android version in the browser by Javascript
Solution 1:
function getAndroidVersion(ua) {
ua = (ua || navigator.userAgent).toLowerCase();
var match = ua.match(/android\s([0-9\.]*)/i);
return match ? match[1] : undefined;
};
getAndroidVersion(); //"4.2.1"
parseInt(getAndroidVersion(), 10); //4
parseFloat(getAndroidVersion()); //4.2
Solution 2:
Use below code to get 2 digit version of Android
var ua = navigator.userAgent;
if( ua.indexOf("Android") >= 0 )
{
var androidversion = parseFloat(ua.slice(ua.indexOf("Android")+8));
if (androidversion < 2.3)
{
// do whatever
}
}
For example
Mozilla/5.0 (Linux; U; Android 2.2.1; fr-ch; A43 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
will return Android Version = 2.2
Solution 3:
I can't comment because I don't have enough rep... Just wanted to add that I had to change neiker's code to
var match = ua.match(/Android\s([0-9\.]*)/i);
to make it case insensitive because the Galaxy S3 was returning "android" instead of Android in its user agent
Solution 4:
You can look at the user agent string - window.navigator.userAgent
described here: https://developer.mozilla.org/en/DOM/window.navigator.userAgent
If what you're really trying to detect is whether you have a version of the browser that supports a particular feature, then it's nearly always better to use feature detection instead of browser version detection. modernizr is a huge base of code for feature detection that you can either use as is or borrow one particular piece from or just learn how the general technique works.
When I Google, I see user agent strings like this for Android:
Mozilla/5.0 (Linux; U; Android 2.2.1; fr-ch; A43 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
A regex of /Android\s+([\d\.]+)/
on window.navigator.userAgent
will pick up the Android version number.
Solution 5:
Motorola's player user agents can have the following:
Linux;Android ; Release/4.1.2
So, I've had to start using the the following regex:
[a|A]ndroid[^\d]*([\d[_|.]]+\d)