【发布时间】:2016-11-04 13:30:15
【问题描述】:
如何获取设备型号名称?我有一个 Yuphoria 5010,它在设备型号中显示 YU5010,我想获取设备的全名?我想要获取下面给出的确切字符串:
Yuphoria 5010 6.0 棉花糖
【问题讨论】:
标签: android
如何获取设备型号名称?我有一个 Yuphoria 5010,它在设备型号中显示 YU5010,我想获取设备的全名?我想要获取下面给出的确切字符串:
Yuphoria 5010 6.0 棉花糖
【问题讨论】:
标签: android
其实很简单,只需调用:
String model = Build.MODEL;
更新:此代码将打印您请求的确切字符串:
String reqString = Build.MANUFACTURER
+ " " + Build.MODEL + " " + Build.VERSION.RELEASE
+ " " + Build.VERSION_CODES.class.getFields()[android.os.Build.VERSION.SDK_INT].getName();
打印:
三星 Note 4 6.0 棉花糖
LGE LG-D410 4.4.2 奇巧
【讨论】:
在许多流行的设备上,该设备的市场名称不可用。例如,在三星 Galaxy S6 上,Build.MODEL 的值可能是“SM-G920F”、“SM-G920I”或“SM-G920W8”。 因此,要获取完整的设备名称,您可以使用 github 上提供的库。 AndroidDeviceLibrary 的链接在这里https://github.com/shubhamsharmacs/AndroidDeviceNames
现在如何使用这些库:- 把这些放在你的 build.gradle 文件中
compile 'com.jaredrummler:android-device-names:1.0.9'
现在这些操作是:
获取当前设备的名称:
String deviceName = DeviceName.getDeviceName();
以上代码将获得前 600 名 Android 设备的正确设备名称。如果设备无法识别,则返回 Build.MODEL。这可以从 UI 线程执行。
使用设备的代号获取设备的名称:
// Retruns "Moto X Style"
DeviceName.getDeviceName("clark", "Unknown device");
获取有关设备的信息:
DeviceName.with(context).request(new DeviceName.Callback() {
@Override public void onFinished(DeviceName.DeviceInfo info, Exception error) {
String manufacturer = info.manufacturer; // "Samsung"
String name = info.marketName; // "Galaxy S7 Edge"
String model = info.model; // "SAMSUNG-SM-G935A"
String codename = info.codename; // "hero2lte"
String deviceName = info.getName(); // "Galaxy S7 Edge"
// FYI: We are on the UI thread.
}
});
以上代码根据 Google 维护的列表从生成的设备名称列表中加载 JSON。它将与 Google 支持的设备列表保持同步,以便您获得新设备或未知设备的正确名称。这支持超过 10,000 台设备。
这只会进行一次网络调用。该值将保存到 SharedPreferences 以供将来调用。
【讨论】:
您可以使用以下代码获取设备详细信息。
String s="Debug-infos:\n";
s += "OS Version: " + System.getProperty("os.version") + "(" + android.os.Build.VERSION.INCREMENTAL + ")\n";
s += "OS API Level: " + android.os.Build.VERSION.RELEASE + "(" + android.os.Build.VERSION.SDK_INT + ")\n";
s += "Device: " + android.os.Build.DEVICE + "\n";
s += "Model (and Product): " + android.os.Build.MODEL + " ("+ android.os.Build.PRODUCT + ")\n";
【讨论】:
使用此代码获取设备型号
import android.os.Build;
String deviceModel = Build.MODEL;
如果您想在 android 6.0 Marshmellow 中获取此信息,请在获取信息之前授予运行时权限
Manifest.permission.READ_PHONE_STATE
【讨论】: