我试图以编程方式从android电视中获取型号

时间:2017-04-12 08:01:21

标签: android android-tv television

我已经尝试了几种方法从索尼安卓电视中获取型号,例如Build.modelBuild.name,但它返回了类似电视名称的内容(即Bravia 2015) 我需要的是特定电视的完整型号(即KDL-50W800C) 请让我知道如何做到这一点。

1 个答案:

答案 0 :(得分:0)

简答:

Build.FINGERPRINT可能会有您正在寻找的东西,然后是一些。 android/os/Build.java下面的代码段:

/** A string that uniquely identifies this build.  Do not attempt to parse this value. */
public static final String FINGERPRINT = deriveFingerprint();

/**
 * Some devices split the fingerprint components between multiple
 * partitions, so we might derive the fingerprint at runtime.
 */
private static String deriveFingerprint() {
    String finger = SystemProperties.get("ro.build.fingerprint");
    if (TextUtils.isEmpty(finger)) {
        finger = getString("ro.product.brand") + '/' +
                getString("ro.product.name") + '/' +
                getString("ro.product.device") + ':' +
                getString("ro.build.version.release") + '/' +
                getString("ro.build.id") + '/' +
                getString("ro.build.version.incremental") + ':' +
                getString("ro.build.type") + '/' +
                getString("ro.build.tags");
    }
    return finger;
}

长答案:

它应该在可读的系统属性中(很可能是上面的那些)。然而,值得注意的是它并不能保证在所有设备/构建上一致地填充。

以下是一些提取数据的方法:

  1. 以编程方式通过android/os/Build.java - 针对一组有限的属性,如上所述

  2. 以编程方式java.lang.System.getProperty - 使用getProperties(optional string)

  3. 在运行时之外只是通过terminal$ adb shell getprop进行调试/查看最新信息 - 这将全部打印出来

  4. 以下是一些示例(第一个仿真器,第二个定制的电视机顶盒)

    [ro.build.fingerprint]: [generic_x86/sdk_google_atv_x86/generic_x86:5.1.1/LMY48X/2916408:userdebug/test-keys]
    [ro.build.product]: [generic_x86]
    [ro.build.id]: [LMY48X]
    [ro.hardware]: [ranchu]
    [ro.product.brand]: [generic_x86]
    [ro.product.device]: [generic_x86]
    [ro.product.manufacturer]: [unknown]
    [ro.product.model]: [sdk_google_atv_x86]
    [ro.product.name]: [sdk_google_atv_x86]
    
    [ro.build.fingerprint]: [Android/p202/p202:5.1.1/LMY44V/20170215:userdebug/release-keys]
    [ro.build.product]: [p202]
    [ro.build.id]: [LMY44V]
    [ro.hardware]: [amlogic]
    [ro.product.brand]: [Alta]
    [ro.product.device]: [p202]
    [ro.product.manufacturer]: [AltaDigital]
    [ro.product.model]: [H4401]
    [ro.product.name]: [p202]
    [ro.stb.chip]: [AMLOGICS905]
    

    我不确定是否/哪里可以找到所有的android os系统属性,如果有人知道请添加,但这里有一些系统属性的链接:

    Adding A New DeviceDeviceSelectionOptions