以编程方式获取Android手机模型
作者:互联网
我想知道是否有办法在Android中以编程方式阅读手机模型.
我想得到像HTC Dream,Milestone,Sapphire或其他任何东西……
解决方法:
在许多流行的设备上,设备的市场名称不可用.例如,在Samsung Galaxy S6上,Build.MODEL的值可以是“SM-G920F”,“SM-G920I”或“SM-G920W8”.
我创建了一个小型库,可以获得设备的市场(消费者友好)名称.它获得超过10,000个设备的正确名称,并不断更新.如果您想使用我的图书馆,请点击以下链接:
AndroidDeviceNames Library on Github
如果您不想使用上面的库,那么这是获取消费者友好设备名称的最佳解决方案:
/** Returns the consumer friendly device name */
public static String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.startsWith(manufacturer)) {
return capitalize(model);
}
return capitalize(manufacturer) + " " + model;
}
private static String capitalize(String str) {
if (TextUtils.isEmpty(str)) {
return str;
}
char[] arr = str.toCharArray();
boolean capitalizeNext = true;
StringBuilder phrase = new StringBuilder();
for (char c : arr) {
if (capitalizeNext && Character.isLetter(c)) {
phrase.append(Character.toUpperCase(c));
capitalizeNext = false;
continue;
} else if (Character.isWhitespace(c)) {
capitalizeNext = true;
}
phrase.append(c);
}
return phrase.toString();
}
我的Verizon HTC One M8示例:
// using method from above
System.out.println(getDeviceName());
// Using https://github.com/jaredrummler/AndroidDeviceNames
System.out.println(DeviceName.getDeviceName());
结果:
HTC6525LVW
HTC One (M8)
标签:android-hardware,android 来源: https://codeday.me/bug/20190911/1804682.html