Class UAgentInfo


  • public class UAgentInfo
    extends java.lang.Object
    The DetectSmartPhone class encapsulates information about a browser's connection to your web site. You can use it to find out whether the browser asking for your site's content is probably running on a mobile device. The methods were written so you can be as granular as you want. For example, enquiring whether it's as specific as an iPod Touch or as general as a smartphone class device. The object's methods return true, or false.
    • Constructor Detail

      • UAgentInfo

        public UAgentInfo​(java.lang.String userAgent,
                          java.lang.String httpAccept)
        Initialize the userAgent and httpAccept variables
        Parameters:
        userAgent - the User-Agent header
        httpAccept - the Accept header
    • Method Detail

      • detectAmazonSilk

        public boolean detectAmazonSilk()
        Detects if the current Amazon device is using the Silk Browser. Note: Typically used by the the Kindle Fire.
        Returns:
        detection of an Amazon Kindle Fire in Silk mode.
      • detectAndroid

        public boolean detectAndroid()
        Detects *any* Android OS-based device: phone, tablet, and multi-media player. Also detects Google TV.
        Returns:
        detection of an Android device
      • detectAndroidPhone

        public boolean detectAndroidPhone()
        Detects if the current device is a (small-ish) Android OS-based device used for calling and/or multi-media (like a Samsung Galaxy Player). Google says these devices will have 'Android' AND 'mobile' in user agent. Ignores tablets (Honeycomb and later).
        Returns:
        detection of an Android phone
      • detectAndroidTablet

        public boolean detectAndroidTablet()
        Detects if the current device is a (self-reported) Android tablet. Google says these devices will have 'Android' and NOT 'mobile' in their user agent.
        Returns:
        detection of an Android tablet
      • detectAndroidWebKit

        public boolean detectAndroidWebKit()
        Detects if the current device is an Android OS-based device and the browser is based on WebKit.
        Returns:
        detection of an Android WebKit browser
      • detectArchos

        public boolean detectArchos()
        Detects if the current device is an Archos media player/Internet tablet.
        Returns:
        detection of an Archos media player
      • detectBada

        public boolean detectBada()
        Detects a device running the Bada OS from Samsung.
        Returns:
        detection of a Bada device
      • detectBlackBerry

        public boolean detectBlackBerry()
        Detects if the current browser is any BlackBerry. Includes BB10 OS, but excludes the PlayBook.
        Returns:
        detection of Blackberry
      • detectBlackBerry10Phone

        public boolean detectBlackBerry10Phone()
        Detects if the current browser is a BlackBerry 10 OS phone. Excludes tablets.
        Returns:
        detection of a Blackberry 10 device
      • detectBlackBerryHigh

        public boolean detectBlackBerryHigh()
        Detects if the current browser is a BlackBerry device AND has a more capable recent browser. Excludes the Playbook. Examples, Storm, Bold, Tour, Curve2 Excludes the new BlackBerry OS 6 and 7 browser!!
        Returns:
        detection of a Blackberry device with a better browser
      • detectBlackBerryLow

        public boolean detectBlackBerryLow()
        Detects if the current browser is a BlackBerry device AND has an older, less capable browser. Examples: Pearl, 8800, Curve1
        Returns:
        detection of a Blackberry device with a poorer browser
      • detectBlackBerryTablet

        public boolean detectBlackBerryTablet()
        Detects if the current browser is on a BlackBerry tablet device. Example: PlayBook
        Returns:
        detection of a Blackberry Tablet
      • detectBlackBerryTouch

        public boolean detectBlackBerryTouch()
        Detects if the current browser is a BlackBerry Touch device, such as the Storm, Torch, and Bold Touch. Excludes the Playbook.
        Returns:
        detection of a Blackberry touchscreen device
      • detectBlackBerryWebKit

        public boolean detectBlackBerryWebKit()
        Detects if the current browser is a BlackBerry device AND uses a WebKit-based browser. These are signatures for the new BlackBerry OS 6. Examples: Torch. Includes the Playbook.
        Returns:
        detection of a Blackberry device with WebKit browser
      • detectBrewDevice

        public boolean detectBrewDevice()
        Detects whether the device is a Brew-powered device.
        Returns:
        detection of a Brew device
      • detectDangerHiptop

        public boolean detectDangerHiptop()
        Detects the Danger Hiptop device.
        Returns:
        detection of a Danger Hiptop
      • detectFirefoxOS

        public boolean detectFirefoxOS()
        Detects a mobile device (probably) running the Firefox OS.
        Returns:
        detection of a Firefox OS mobile device
      • detectFirefoxOSPhone

        public boolean detectFirefoxOSPhone()
        Detects a phone (probably) running the Firefox OS.
        Returns:
        detection of a Firefox OS phone
      • detectFirefoxOSTablet

        public boolean detectFirefoxOSTablet()
        Detects a tablet (probably) running the Firefox OS.
        Returns:
        detection of a Firefox OS tablet
      • detectGameConsole

        public boolean detectGameConsole()
        Detects if the current device is an Internet-capable game console. Includes many handheld consoles.
        Returns:
        detection of any Game Console
      • detectGamingHandheld

        public boolean detectGamingHandheld()
        Detects if the current device is a handheld gaming device with a touchscreen and modern iPhone-class browser. Includes the Playstation Vita.
        Returns:
        detection of a handheld gaming device
      • detectGarminNuvifone

        public boolean detectGarminNuvifone()
        Detects if the current browser is a Garmin Nuvifone.
        Returns:
        detection of a Garmin Nuvifone
      • detectGoogleTV

        public boolean detectGoogleTV()
        Detects if the current device is a GoogleTV.
        Returns:
        detection of GoogleTV
      • detectIos

        public boolean detectIos()
        Detects *any* iOS device: iPhone, iPod Touch, iPad.
        Returns:
        detection of an Apple iOS device
      • detectIpad

        public boolean detectIpad()
        Detects if the current device is an iPad tablet.
        Returns:
        detection of an iPad
      • detectIphone

        public boolean detectIphone()
        Detects if the current device is an iPhone.
        Returns:
        detection of an iPhone
      • detectIphoneOrIpod

        public boolean detectIphoneOrIpod()
        Detects if the current device is an iPhone or iPod Touch.
        Returns:
        detection of an iPhone or iPod Touch
      • detectIpod

        public boolean detectIpod()
        Detects if the current device is an iPod Touch.
        Returns:
        detection of an iPod Touch
      • detectKindle

        public boolean detectKindle()
        Detects if the current device is an Amazon Kindle (eInk devices only). Note: For the Kindle Fire, use the normal Android methods.
        Returns:
        detection of a Kindle
      • detectMaemoTablet

        public boolean detectMaemoTablet()
        Detects if the current device is on one of the Maemo-based Nokia Internet Tablets.
        Returns:
        detection of a Maemo OS tablet
      • detectMeego

        public boolean detectMeego()
        Detects a device running the Meego OS.
        Returns:
        detection of a Meego device
      • detectMeegoPhone

        public boolean detectMeegoPhone()
        Detects a phone running the Meego OS.
        Returns:
        detection of a Meego phone
      • detectMidpCapable

        public boolean detectMidpCapable()
        Detects if the current device supports MIDP, a mobile Java technology.
        Returns:
        detection of a MIDP mobile Java-capable device
      • detectMobileLong

        public boolean detectMobileLong()
        The longer and more thorough way to detect for a mobile device. Will probably detect most feature phones, smartphone-class devices, Internet Tablets, Internet-enabled game consoles, etc. This ought to catch a lot of the more obscure and older devices, also -- but no promises on thoroughness!
        Returns:
        detection of any mobile device using the more thorough method
      • detectMobileQuick

        public boolean detectMobileQuick()
        Detects if the current device is a mobile device. This method catches most of the popular modern devices. Excludes Apple iPads and other modern tablets.
        Returns:
        detection of any mobile device using the quicker method
      • detectNintendo

        public boolean detectNintendo()
        Detects if the current device is a Nintendo game device.
        Returns:
        detection of Nintendo
      • detectOperaMobile

        public boolean detectOperaMobile()
        Detects Opera Mobile or Opera Mini.
        Returns:
        detection of an Opera browser for a mobile device
      • detectPalmOS

        public boolean detectPalmOS()
        Detects if the current browser is on a PalmOS device.
        Returns:
        detection of a PalmOS device
      • detectPalmWebOS

        public boolean detectPalmWebOS()
        Detects if the current browser is on a Palm device running the new WebOS.
        Returns:
        detection of a Palm WebOS device
      • detectS60OssBrowser

        public boolean detectS60OssBrowser()
        Detects if the current browser is the Symbian S60 Open Source Browser.
        Returns:
        detection of Symbian S60 Browser
      • detectSailfish

        public boolean detectSailfish()
        Detects a device running the Sailfish OS.
        Returns:
        detection of a Sailfish device
      • detectSailfishPhone

        public boolean detectSailfishPhone()
        Detects a phone running the Sailfish OS.
        Returns:
        detection of a Sailfish phone
      • detectSmartphone

        public boolean detectSmartphone()
        Check to see whether the device is any device in the 'smartphone' category.
        Returns:
        detection of a general smartphone device
      • detectSonyMylo

        public boolean detectSonyMylo()
        Detects if the current browser is a Sony Mylo device.
        Returns:
        detection of a Sony Mylo device
      • detectSonyPlaystation

        public boolean detectSonyPlaystation()
        Detects if the current device is a Sony Playstation.
        Returns:
        detection of Sony Playstation
      • detectSymbianOS

        public boolean detectSymbianOS()
        Detects if the current device is any Symbian OS-based device, including older S60, Series 70, Series 80, Series 90, and UIQ, or other browsers running on these devices.
        Returns:
        detection of SymbianOS
      • detectTierIphone

        public boolean detectTierIphone()
        The quick way to detect for a tier of devices. This method detects for devices which can display iPhone-optimized web content. Includes iPhone, iPod Touch, Android, Windows Phone 7 and 8, BB10, WebOS, Playstation Vita, etc.
        Returns:
        detection of any device in the iPhone/Android/Windows Phone/BlackBerry/WebOS Tier
      • detectTierOtherPhones

        public boolean detectTierOtherPhones()
        The quick way to detect for a tier of devices. This method detects for all other types of phones, but excludes the iPhone and RichCSS Tier devices.
        Returns:
        detection of a mobile device in the less capable tier
      • detectTierRichCss

        public boolean detectTierRichCss()
        The quick way to detect for a tier of devices. This method detects for devices which are likely to be capable of viewing CSS content optimized for the iPhone, but may not necessarily support JavaScript. Excludes all iPhone Tier devices.
        Returns:
        detection of any device in the 'Rich CSS' Tier
      • detectTierTablet

        public boolean detectTierTablet()
        The quick way to detect for a tier of devices. This method detects for the new generation of HTML 5 capable, larger screen tablets. Includes iPad, Android (e.g., Xoom), BB Playbook, WebOS, etc.
        Returns:
        detection of any device in the Tablet Tier
      • detectTizen

        public boolean detectTizen()
        Detects a device running the Tizen smartphone OS.
        Returns:
        detection of a Tizen device
      • detectTizenTV

        public boolean detectTizenTV()
        Detects if the current browser is on a Tizen smart TV.
        Returns:
        detection of a Tizen smart TV
      • detectUbuntu

        public boolean detectUbuntu()
        Detects a mobile device running the Ubuntu Mobile OS.
        Returns:
        detection of an Ubuntu Mobile OS mobile device
      • detectUbuntuPhone

        public boolean detectUbuntuPhone()
        Detects a phone running the Ubuntu Mobile OS.
        Returns:
        detection of an Ubuntu Mobile OS phone
      • detectUbuntuTablet

        public boolean detectUbuntuTablet()
        Detects a tablet running the Ubuntu Mobile OS.
        Returns:
        detection of an Ubuntu Mobile OS tablet
      • detectWapWml

        public boolean detectWapWml()
        Detects whether the device supports WAP or WML.
        Returns:
        detection of a WAP- or WML-capable device
      • detectWebkit

        public boolean detectWebkit()
        Detects if the current browser is based on WebKit.
        Returns:
        detection of a WebKit browser
      • detectWebOSTablet

        public boolean detectWebOSTablet()
        Detects if the current browser is on an HP tablet running WebOS.
        Returns:
        detection of an HP WebOS tablet
      • detectWebOSTV

        public boolean detectWebOSTV()
        Detects if the current browser is on a WebOS smart TV.
        Returns:
        detection of a WebOS smart TV
      • detectWindowsMobile

        public boolean detectWindowsMobile()
        Detects if the current browser is a Windows Mobile device. Excludes Windows Phone 7.x and 8 devices. Focuses on Windows Mobile 6.xx and earlier.
        Returns:
        detection of Windows Mobile
      • detectWindowsPhone

        public boolean detectWindowsPhone()
        Detects if the current browser is a Windows Phone 7.x, 8, or 10 device
        Returns:
        detection of Windows Phone 7.x OR 8
      • detectWindowsPhone10

        public boolean detectWindowsPhone10()
        Detects a Windows Phone 10 device (in mobile browsing mode).
        Returns:
        detection of Windows Phone 10
      • detectWindowsPhone7

        public boolean detectWindowsPhone7()
        Detects a Windows Phone 7 device (in mobile browsing mode).
        Returns:
        detection of Windows Phone 7
      • detectWindowsPhone8

        public boolean detectWindowsPhone8()
        Detects a Windows Phone 8 device (in mobile browsing mode).
        Returns:
        detection of Windows Phone 8
      • detectXbox

        public boolean detectXbox()
        Detects if the current device is a Microsoft Xbox.
        Returns:
        detection of Xbox
      • getHttpAccept

        public java.lang.String getHttpAccept()
        Return the lower case HTTP_ACCEPT
        Returns:
        httpAccept
      • getIsIphone

        public boolean getIsIphone()
        Return whether the device is an Iphone or iPod Touch
        Returns:
        isIphone
      • getIsTierGenericMobile

        public boolean getIsTierGenericMobile()
        Return whether the device is a generic, less-capable mobile device.
        Returns:
        isTierGenericMobile
      • getIsTierIphone

        public boolean getIsTierIphone()
        Return whether the device is in the Iphone Tier.
        Returns:
        isTierIphone
      • getIsTierRichCss

        public boolean getIsTierRichCss()
        Return whether the device is in the 'Rich CSS' tier of mobile devices.
        Returns:
        isTierRichCss
      • getIsTierTablet

        public boolean getIsTierTablet()
        Return whether the device is in the Tablet Tier.
        Returns:
        isTierTablet
      • getUserAgent

        public java.lang.String getUserAgent()
        Return the lower case HTTP_USER_AGENT
        Returns:
        userAgent
      • initDeviceScan

        public void initDeviceScan()
        Initialize Key Stored Values.