如何获取设备型号名称?

新手上路,请多包涵

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

Yuphoria 5010 6.0 棉花糖

原文由 Jim Raynor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

这真的很简单,只需调用:

 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奇巧

原文由 Hisham Muneer 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 Shubham Sharma 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题