I would like to know if there is a way for reading the Phone Model programmatically in Android.
I would like to get a string like HTC Dream, Milestone, Sapphire or whatever...
I would like to know if there is a way for reading the Phone Model programmatically in Android.
I would like to get a string like HTC Dream, Milestone, Sapphire or whatever...
Actually that is not 100% correct. That can give you Model (sometime numbers).
Will get you the Manufacturer of the phone (HTC portion of your request):
Build.MANUFACTURER
For a product name:
Build.PRODUCT
Kotlin short version:
import android.os.Build.MANUFACTURER
import android.os.Build.MODEL
fun getDeviceName(): String =
if (MODEL.startsWith(MANUFACTURER, ignoreCase = true)) {
MODEL
} else {
"$MANUFACTURER $MODEL"
}.capitalize(Locale.ROOT)
Build.DEVICE // The name of the industrial design.
Build.DEVICE Gives the human readable name for some devices than Build.MODEL
Build.DEVICE = OnePlus6
Build.MANUFACTURER = OnePlus
Build.MODEL = ONEPLUS A6003
You can get the phone device name from the
BluetoothAdapter
In case phone doesn't support Bluetooth, then you have to construct the device name from
android.os.Build class
Here is the sample code to get the phone device name.
public String getPhoneDeviceName() {
String name=null;
// Try to take Bluetooth name
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter != null) {
name = adapter.getName();
}
// If not found, use MODEL name
if (TextUtils.isEmpty(name)) {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.startsWith(manufacturer)) {
name = model;
} else {
name = manufacturer + " " + model;
}
}
return name;
}
You can Try following function and its return your phoneModel name in string format.
public String phoneModel() {
return Build.MODEL;
}