SSoft9

The fingerprint sensor is not a standard Android feature. Neither is NFC.

Mid-2010s tech writing settled on the idea that "modern smartphones" have a fingerprint sensor and NFC. Both became standard on iPhone, both became standard on Samsung flagships, both became standard on the kinds of phones the people writing tech articles actually use.

Across the entire Google Play catalog of 28,077 devices, both are minority features.

What hardware features are actually universal

We aggregated deviceInfo.hardwareFeatures across every device in the catalog. The features that genuinely show up on essentially every Android device:

| Feature | Devices reporting | Share | |---|---:|---:| | android.hardware.location | 28,069 | 100.0% | | android.hardware.wifi | 28,069 | 100.0% | | android.hardware.audio.output | 28,016 | 99.8% | | android.hardware.location.network | 27,987 | 99.7% | | android.hardware.screen.landscape | 27,942 | 99.5% | | android.hardware.bluetooth | 27,940 | 99.5% | | android.hardware.camera.any | 27,659 | 98.5% | | android.hardware.wifi.direct | 27,462 | 97.8% | | android.software.input_methods | 27,149 | 96.7% |

These are the features you can safely require in your app's manifest without losing meaningful install-base coverage.

What you cannot safely assume

The features people think are standard but aren't:

| Feature | Devices reporting | Share | |---|---:|---:| | android.hardware.fingerprint | 8,674 | 30.9% | | android.hardware.location.gps | 22,565 | 80.4% | | android.hardware.usb.host | 22,105 | 78.7% | | android.hardware.camera.flash | 21,342 | 76.0% | | android.hardware.nfc | 5,562 | 19.8% |

Fingerprint at 30.9%. Less than a third of catalogged Android devices report a fingerprint sensor. Even adjusting for older devices and budget tablets, the share never crosses 50%. Apps that require biometric auth for normal flow exclude the majority of the Android device space.

NFC at 19.8%. One in five. Apps that assume NFC for payments, transit, file-sharing, or peripheral pairing are designing for a minority. Google Pay's actual install base is constrained by this.

Camera flash at 76%. Notably not 100% — the missing quarter is mostly Android tablets and TV / set-top-box devices that have a camera-eligible config but no flash hardware.

GPS at 80%. This is high enough to assume for most apps but low enough to handle gracefully when missing — usually network-only location is the fallback.

The exotic stuff

The features that genuinely are rare across the catalog:

| Feature | Devices reporting | Share | |---|---:|---:| | android.hardware.sensor.barometer | 2,112 | 7.5% | | android.hardware.consumerir (IR blaster) | 1,879 | 6.7% | | android.hardware.audio.pro | 1,671 | 6.0% | | android.hardware.sensor.heartrate | 346 | 1.2% | | android.hardware.sensor.ambient_temperature | 164 | 0.6% | | android.hardware.sensor.relative_humidity | 92 | 0.3% |

Barometer at 7.5%. Useful for elevation-based fitness tracking. Most Samsung flagships have one. Mid-range phones almost never do.

IR blaster at 6.7%. Used to be a Samsung mid-range standard around 2014-2016, then got phased out. A few Xiaomi and Redmi phones still ship them; the feature is otherwise extinct on flagships and mostly extinct on mid-range.

Pro audio (low-latency) at 6.0%. This is the feature that lets your phone do real-time audio synthesis or DJ-style live mixing without buffering delay. Almost the entire Android tablet and budget-phone catalog skips it. Audio production apps on Android have a much smaller addressable market than their iOS counterparts because of this.

Heart-rate sensor at 1.2%. This is mostly Samsung Galaxy S5 through S10-era phones, plus a handful of post-2020 Samsung mid-range. Effectively nobody else ships it on a phone (it's a watch feature now). 346 devices in 28,077 catalog.

Humidity sensor at 0.3%. Dropping the "humidity sensor in your phone" fact at parties is going to be 99.7% wrong, statistically.

What this is useful for

If you're a developer reading this and writing your AndroidManifest:

  • Don't <uses-feature required="true"> on fingerprint or NFC unless your app's value prop genuinely requires it. You're cutting 70-80% of the install funnel for a hardware feature most users don't even know is missing.
  • Use required="false" and runtime feature detection (PackageManager.hasSystemFeature(...)) for any hardware feature outside the universal set above.
  • Check the actual install-base distribution in Play Console for your specific app — your app's users may skew higher-end and have higher feature-coverage than the catalog median.

If you're a buyer reading this:

  • Your phone might not have NFC, even if it's "modern." Check before assuming Google Pay will work.
  • Your phone might not have a fingerprint sensor. PIN entry is your friend.
  • Your phone almost certainly does not have a barometer, IR blaster, or heart-rate sensor. The marketing pages don't typically mention what isn't there.

Marcus

Ad slot (blog-mid) — placeholder until NEXT_PUBLIC_ADSENSE_CLIENT_ID is configured.