安卓温度区?

标签 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 读取每个区域的type 时,我得到的值如下:

mtktswmt 
mtktscpu
mtktspmic
mtktspa
mtktsabb
mtktsbattery
tsen_max
sec-fuelguage

谁能解释所有这些区域名称实际上指的是什么位置/组件?

(理想情况下,我想获取设备的 NFC 硬件的温度。)

最佳答案

我想那是手机的硬件热传感器。它们通常会在移动设备工作时或什至在您执行某些基准测试 结果时提供给定区域的温度。 喜欢

  1. mtktswmt 是 Wifi 芯片温度区。
  2. mtktscpu 是 cpu 温度区。
  3. mtktspmic 是 Multi IO and Regulator Chip 温区。
  4. mtktspa 是热传感器 MD1
  5. mtktsabb 是处理器温度区。
  6. mtktsbattery 是电池温度区。
  7. tsen_max 是最大温度传感器容量(我不确定)。
  8. sec-fuelguage 是电量计芯片。

mtkt 前缀只是制造商的名称。在这种情况下是联发科技

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

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

希望对您有所帮助。

关于安卓温度区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45824388/

相关文章:

android - 更新本地 Android 数据库

android - 如何在android Studio中打印ImageView中显示的图像

java - Imageview 未显示来自 URL 的正确图像

java - 如何从数据库传递两个变量以显示到android中的数组中

android - 了解通过 Facebook 移动应用广告进行了多少次安装

Android 应用内结算版本 3 - 项目未拥有

android - 完整图像不会显示在 CardView 中

android - 为应用引擎端点对象化 OfyService NoClassDefFoundError

java - 动态 ImageView 。指定的 child 已经有 parent

android - listview 按位置获取项目 View