我看过很多问题/答案,展示了如何从Android设备获取温度信息 - 使用这种方法:
int zoneNumber = 0; // Usually 0 or 1
String temperatureFileLocation = "sys/devices/virtual/thermal/thermal_zone" + zoneNumber + "/temp";
File temperatureFile = new File(temperatureFileLocation);
scanner = new Scanner(temperatureFile);
double temperatureC = scanner.nextFloat(); // Degrees C
...
scanner.close(); // finally
我不确定每个区域的用途(即,传感器位于设备的哪个部分)但我刚发现还有一个描述类型的文件每个区域 - 例如:
String zoneTypeFileLocation = "sys/devices/virtual/thermal/thermal_zone" + zoneNumber + "/type"; // NB - that's "/type" not "/temp" !
现在,当使用Scanner
读取每个区域的类型时,我得到的值如下:
mtktswmt
mtktscpu
mtktspmic
mtktspa
mtktsabb
mtktsbattery
tsen_max
sec-fuelguage
有人可以解释所有这些区域名称实际指的是哪些位置/组件?
(理想情况下,我想获得设备NFC硬件的温度。)
答案 0 :(得分:8)
我猜这是移动设备的硬件200px
。它们通常在移动设备工作时或甚至在您执行一些200px
结果时给出给定区域的温度。
喜欢
mtkt 前缀只是制造商的名称。在这种情况下,它是 Mediatek
这是非常硬核的硬件。这些实际上是由Android手机的制造商使用(我猜)。甚至上面提到的数据都是从谷歌Android开源项目中搜索到的,其中的值是在核心驱动程序中找到的。因此,它是非常硬核的硬件。
要使用实际为您提供所需结果的硬件属性,请尝试HardwarePropertiesManager
。
我希望它能帮助你。