【发布时间】:2016-01-18 13:57:44
【问题描述】:
我有 android 唯一设备/硬件 ID,我想使用 Java servlet 中的设备 ID 获取 android 设备模型。我将从 android SDK 获取这个 id 到 Java servlet,我知道我们可以从 android SDK api 本身获取设备型号名称,但是我现在无法去修改我们的 sdk .. 所以那里在servlet中使用java api获取设备型号名称的任何方法。
【问题讨论】:
我有 android 唯一设备/硬件 ID,我想使用 Java servlet 中的设备 ID 获取 android 设备模型。我将从 android SDK 获取这个 id 到 Java servlet,我知道我们可以从 android SDK api 本身获取设备型号名称,但是我现在无法去修改我们的 sdk .. 所以那里在servlet中使用java api获取设备型号名称的任何方法。
【问题讨论】:
如何获取安卓设备友好名称:
/** 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;
String phrase = "";
for (char c : arr) {
if (capitalizeNext && Character.isLetter(c)) {
phrase += Character.toUpperCase(c);
capitalizeNext = false;
continue;
} else if (Character.isWhitespace(c)) {
capitalizeNext = true;
}
phrase += c;
}
return phrase;
}
然后:
// using method from above
System.out.println(getDeviceName());
// Using https://github.com/jaredrummler/AndroidDeviceNames
System.out.println(DeviceName.getDeviceName());
【讨论】: