我想知道是否有一种在Android中以编程方式阅读手机模型的方法。
我想要一个像HTC梦想,里程碑,蓝宝石或任何字符串…
我想知道是否有一种在Android中以编程方式阅读手机模型的方法。
我想要一个像HTC梦想,里程碑,蓝宝石或任何字符串…
当前回答
芬兰湾的科特林版本
val Name: String by lazy {
val manufacturer = Build.MANUFACTURER
val model = Build.MODEL
if (model.toLowerCase().startsWith(manufacturer.toLowerCase())) {
capitalize(model)
} else {
capitalize(manufacturer) + " " + model
}
}
private fun capitalize(s: String?): String {
if (s == null || s.isEmpty()) {
return ""
}
val first = s[0]
return if (Character.isUpperCase(first)) {
s
} else {
Character.toUpperCase(first) + s.substring(1)
}
}
其他回答
String deviceName = android.os.Build.MODEL; // returns model name
String deviceManufacturer = android.os.Build.MANUFACTURER; // returns manufacturer
使用以下方法以编程方式获取模型和制造商
public String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.toLowerCase().startsWith(manufacturer.toLowerCase())) {
return capitalize(model);
} else {
return capitalize(manufacturer) + " " + model;
}
}
private String capitalize(String s) {
if (s == null || s.length() == 0) {
return "";
}
char first = s.charAt(0);
if (Character.isUpperCase(first)) {
return s;
} else {
return Character.toUpperCase(first) + s.substring(1);
}
显然你需要使用https://support.google.com/googleplay/answer/1727131上谷歌的列表
api不会返回任何我期望的东西或设置中的任何东西。对于我的摩托罗拉X,这是我得到的
Build.MODEL = "XT1053"
Build.BRAND = "motorola"
Build.PRODUCT = "ghost"
转到上面提到的Moto x的“幽灵”地图页面,似乎这可以简单一点…
我使用下面的代码来获取完整的设备名称。它获得模型和制造商字符串并连接它们,除非模型字符串已经包含制造商名称(在一些手机上):
public String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.toLowerCase().startsWith(manufacturer.toLowerCase())) {
return capitalize(model);
} else {
return capitalize(manufacturer) + " " + model;
}
}
private String capitalize(String s) {
if (s == null || s.length() == 0) {
return "";
}
char first = s.charAt(0);
if (Character.isUpperCase(first)) {
return s;
} else {
return Character.toUpperCase(first) + s.substring(1);
}
}
以下是我从用户那里得到的一些设备名称示例:
三星GT-S5830L 摩托罗拉MB860 索尼爱立信LT18i LGE LG-P500 HTC Desire V HTC野火S A510e ...
当你想要检索制造商、设备名称和/或型号时,以下字符串都是有用的:
String manufacturer = Build.MANUFACTURER;
String brand = Build.BRAND;
String product = Build.PRODUCT;
String model = Build.MODEL;
事实上,这不是百分之百正确的。这可以为您提供模型(有时是数字)。 将为您提供手机制造商(HTC部分您的请求):
Build.MANUFACTURER
产品名称:
Build.PRODUCT