Android温度区?

时间:2017-08-22 18:14:17

标签: android

我看过很多问题/答案,展示了如何从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硬件的温度。)

1 个答案:

答案 0 :(得分:8)

我猜这是移动设备的硬件200px。它们通常在移动设备工作时或甚至在您执行一些200px结果时给出给定区域的温度。 喜欢

  1. mtktswmt 是Wifi芯片温度区域。
  2. mtktscpu 是cpu温度区。
  3. mtktspmic 是Multi IO和Regulator Chip温度区域。
  4. mtktspa 是热传感器MD1
  5. mtktsabb 是处理器温度区域。
  6. mtktsbattery 是电池温度区域。
  7. tsen_max 是最高温度传感器容量(我当然不知道)。
  8. sec-fuelguage 是燃油表芯片。
  9. mtkt 前缀只是制造商的名称。在这种情况下,它是 Mediatek

    这是非常硬核的硬件。这些实际上是由Android手机的制造商使用(我猜)。甚至上面提到的数据都是从谷歌Android开源项目中搜索到的,其中的值是在核心驱动程序中找到的。因此,它是非常硬核的硬件。

    要使用实际为您提供所需结果的硬件属性,请尝试HardwarePropertiesManager

    我希望它能帮助你。