Android 如何获取设备型号名称?

Android 如何获取设备型号名称?,android,Android,如何获取设备型号名称?我有一个Yuphoria 5010,它在设备型号中显示YU5010,我想获取设备的全名?我希望获取下面给出的精确字符串: Yuphoria 5010 6.0棉花糖 这真的很简单,只要打电话: String model = Build.MODEL; 更新:此代码将打印您请求的确切字符串: String reqString = Build.MANUFACTURER + " " + Build.MODEL + " " + Build.VERSIO

如何获取设备型号名称?我有一个Yuphoria 5010,它在设备型号中显示YU5010,我想获取设备的全名?我希望获取下面给出的精确字符串:

Yuphoria 5010 6.0棉花糖


这真的很简单,只要打电话:

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();
印刷品:

三星Note4 6.0棉花糖

LGE LG-D410 4.4.2 KITKAT


在许多流行设备上,设备的市场名称不可用。例如,在三星Galaxy S6上,Build.MODEL的值可以是“SM-G920F”、“SM-G920I”或“SM-G920W8”。 因此,要获得完整的设备名,您可以使用github上提供的库。AndroidDeviceLibrary的链接在这里

现在,如何使用这些库:- 将这些放在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。它将是最新的谷歌支持的设备列表,以便您将获得新的或未知设备的正确名称。这支持10000多台设备


这将只进行一次网络呼叫。该值将保存到SharedReferences以备将来调用。

您可以使用以下代码获取设备详细信息

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

这也是正确的答案@jimIts是一个很好的解决方案,但该库自2016年以来一直没有更新。因此,新设备并不存在。它需要每年至少更新一次才能有真正的价值。别被愚弄了,这个库已经更新了。这里的链接指向真实库的分支。real library()已于6月份更新!