Android:以编程方式获取设备名称

标签 android

这是我试过的。

mTextView.setText("MODEL: "+android.os.Build.MODEL
                +"\nDEVICE: "+android.os.Build.DEVICE
                +"\nBRAND: "+android.os.Build.BRAND
                +"\nDISPLAY: "+android.os.Build.DISPLAY
                +"\nBOARD: "+android.os.Build.BOARD
                +"\nHOST: "+android.os.Build.HOST
                +"\nMANUFACTURER: "+android.os.Build.MANUFACTURER
                +"\nPRODUCT: "+android.os.Build.PRODUCT);

谁能告诉我如何获得这些输出:
三星 Galaxy S
三星note 3
索尼 Xperia z
索尼Xperai z1
三星大酒店

对于 nexus,它显示 nexus 4nexus 7 与 sony 或 samsung 不同。

最佳答案

你可以使用:

public String getDeviceName() {
  String manufacturer = Build.MANUFACTURER;
  String model = Build.MODEL;
  if (model.startsWith(manufacturer)) {
    return capitalize(model);
  } else {
    return capitalize(manufacturer) + " " + model;
  }
}


private String capitalize(String s) {
  if (s == null || s.length() == 0) {
    return "";
  }
  char first = s.charAt(0);
  if (Character.isUpperCase(first)) {
    return s;
  } else {
    return Character.toUpperCase(first) + s.substring(1);
  }
} 

参见 this 对于 Build.MODEL。

更多信息在 Get Android Phone Model Programmatically .

关于Android:以编程方式获取设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20839301/

相关文章:

java - 使用深度链接启动 Android 应用程序

android - 使用 ProGuard 优化会承担哪些风险?

android - 如何获取 Android 设备上正在运行的 HAL 列表?

android - 未能释放 208019456 on/data;最终可用空间 141062144 :

android - 如何强制调用 onSaveInstanceState

android - 使用 libpd 在 Android 中播放 wave 文件

android - 自定义 AdapterView - onKeyDown 未调用

android - 如何在 Roboguice 中使用上下文单例

java - Android,如何实现 ImageButton 的圆角,然后以编程方式更改颜色?

android - 如何在 NavigationView android 中添加 N 级可扩展菜单?