I'm aware it's a duplicate, but I tried the following:
How to detect the stock Android browser
var navU = navigator.userAgent;
// Android Mobile
var isAndroidMobile = navU.indexOf('Android') > -1 && navU.indexOf('Mozilla/5.0') > -1 && navU.indexOf('AppleWebKit') > -1;
// Apple webkit
var regExAppleWebKit = new RegExp(/AppleWebKit\/([\d.]+)/);
var resultAppleWebKitRegEx = regExAppleWebKit.exec(navU);
var appleWebKitVersion = (resultAppleWebKitRegEx === null ? null : parseFloat(regExAppleWebKit.exec(navU)[1]));
// Chrome
var regExChrome = new RegExp(/Chrome\/([\d.]+)/);
var resultChromeRegEx = regEhttps://www.quora.com/What-is-samsung-s5s-native-browser-Is-it-different-for-different-android-flavorsxChrome.exec(navU);
var chromeVersion = (resultChromeRegEx === null ? null : parseFloat(regExChrome.exec(navU)[1]));
// Native Android Browser
var isAndroidBrowser = isAndroidMobile && (appleWebKitVersion !== null && appleWebKitVersion < 537) || (chromeVersion !== null && chromeVersion < 37);
This doesn't work for above mentioned devices. I get false on Galaxy S5 / S6 native browser.
I also tried (Javascript detect android native browser):
var nua = navigator.userAgent;
var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1) && !(nua.indexOf('Chrome') > -1));
This works, but also returns true for Chrome.
I'd like to improve on second piece of code so it returns true only for native browser, not chrome.
According to https://www.quora.com/What-is-samsung-s5s-native-browser-Is-it-different-for-different-android-flavors, S5 and S6 use a browser called "Internet". Is there a way to improve above snippet so it handles this browser as well?