我正在尝试以编程方式从 android 电视获取型号
Posted
技术标签:
【中文标题】我正在尝试以编程方式从 android 电视获取型号【英文标题】:I am trying to get the model number from an android tv programatically 【发布时间】:2017-09-07 21:19:46 【问题描述】:我尝试了多种方法从索尼 android 电视中获取型号,例如 Build.model
和 Build.name
,但它返回的内容类似于电视名称(即 Bravia 2015)
我需要的是该特定电视的完整型号(即 KDL-50W800C)
请告诉我该怎么做。
【问题讨论】:
【参考方案1】:简答:
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;
长答案:
它应该在可读的系统属性中(很可能是上述属性之一)。然而,值得注意的是,它不能保证在所有设备/版本上始终如一地填充。
这里有几种拉取数据的方法:
以编程方式通过android/os/Build.java - 用于有限的属性集,就像您在上面所做的那样
以编程方式通过java.lang.System.getProperty - 使用getProperties(optional string)
在运行时之外只是通过terminal$ adb shell getprop 调试/查看最新情况 - 这会将它们全部打印出来
这里有一些例子(第一个模拟器,第二个定制电视机顶盒)
[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 Device, DeviceSelectionOptions
【讨论】:
大部分相同的属性可以在/system/build.prop
中找到以上是关于我正在尝试以编程方式从 android 电视获取型号的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式从 Android 的内置图库应用程序中获取/选择图像
[Android - Kitkat ]以编程方式从 Android 的内置图库应用程序中获取/选择图像
您如何以编程方式在 Android ICS 及更高版本上截取屏幕截图?