我看到许多关于如何从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硬件的温度。)