2014-12-06 65 views
2

如何获取设备特定的代码?获取android设备的代号

例如:

  • 关系5>锤头
  • 万普拉斯一>熏肉

我搜索已经在android.os.Build常数。 build.prop文件包含一个名为ro.build.NAME的属性,它是(在我的情况下)bacon。但是不存在一个不变。我在哪里可以得到它?

回答

2

我发现:

android.os.Build.HARDWARE 
1

你应该得到的 “ro.build.product” 的值。这是你应该如何得到一个设备的代号:

public static String getCodename() { 
    String value = Build.DEVICE; 
    try { 
     final Class<?> sp = Class.forName("android.os.SystemProperties"); 
     final Method get = sp.getMethod("get", String.class); 
     value = (String) get.invoke(null, "ro.build.product"); 
    } catch (Exception ignored) { 
    } 
    return value; 
} 
+0

谢谢JRummy;)但'android.os.Build.HARDWARE'更容易使用,不是吗? – 2014-12-06 22:29:28

+1

我想这取决于你使用它。如果您正在构建一个与设备代号相关的应用程序(CyanogenMod,ClockworkMod和其他与根相关的应用程序使用的应用程序),那么您应该使用上述代码。如果是用于其他项目,请使用Build.HARDWARE或任何适合您的工具。 – 2014-12-06 23:55:17