如何获取设备型号名称?

时间:2016-07-02 06:29:15

标签: android

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

  

Yuphoria 5010 6.0 Marshmallow

4 个答案:

答案 0 :(得分:38)

这很简单,只需致电:

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();
  

打印:

     

Samsung Note 4 6.0 MARSHMALLOW

     

LGE LG-D410 4.4.2 KITKAT

答案 1 :(得分:6)

在许多流行的设备上,设备的市场名称不可用。例如,在三星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以供将来调用。

答案 2 :(得分:5)

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

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";

答案 3 :(得分:2)

使用此代码获取设备模型

import android.os.Build;

String deviceModel = Build.MODEL;

如果你想在android 6.0 Marshmellow中获取此信息,那么在此获取信息之前给出运行时权限

Manifest.permission.READ_PHONE_STATE