How to detect a mobile device manufacturer and model programmatically in Android?

AndroidDevice

Android Problem Overview


I want to find device specification of a mobile phone for examples, the device manufacturer, model no ( and may be types of sensors in the device, wifi chipset etc..). I want to get the device manufacture/model number (eg. Samsung GT-I9100 i.e Galaxy S2) programmatically. The manufacture/model number is also used in Google Play when installing an app. I want to use this information to make some configuration changes in my hardware dependent app (for eg. power measurement).

Android Solutions


Solution 1 - Android

You can get as below:

String deviceName = android.os.Build.MODEL;
String deviceMan = android.os.Build.MANUFACTURER;

For more other device details, Please refer this document: android.os.Build

Solution 2 - Android

I just wanna elaborate on how to use the built in Attribute for the future visitors. You can use this method in identifying a Kindle Device(s)

public static boolean isKindle(){
        final String AMAZON = "Amazon";
        final String KINDLE_FIRE = "Kindle Fire";

        return (Build.MANUFACTURER.equals(AMAZON) && Build.MODEL.equals(KINDLE_FIRE) ) || Build.MODEL.startsWith("KF");
} 

Solution 3 - Android

String deviceName = android.os.Build.MODEL;
String deviceMan = android.os.Build.MANUFACTURER;

The original solution will work fine, however it will not detect a custom ROM (non OEM) in call cases. You may want to also evaluate the android.os.Build.PRODUCT string or other strings from the Build class.

String build = android.os.Build.PRODUCT;

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionShanView Question on Stackoverflow
Solution 1 - AndroidAvadhani YView Answer on Stackoverflow
Solution 2 - AndroidneferpitouView Answer on Stackoverflow
Solution 3 - AndroidJim RowView Answer on Stackoverflow