从安卓设备获取 CPU 温度

问题描述

我正在尝试获取设备的温度。我使用了环境传感器(环境温度),但这不适用于大多数设备。 我还使用了诸如“sys/class/thermal/thermal_zone0/temp”之类的命令,但没有运气

如果有人能够访问最新设备(例如(三星 S10)、Vivi 1938)上的温度,请告诉我

解决方法

您可以使用以下代码获取设备的 CPU 温度:

public static float cpuTemperature()
{
  Process process;
  try {
    process = Runtime.getRuntime().exec("cat sys/class/thermal/thermal_zone0/temp");
    process.waitFor();
    BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    String line = reader.readLine();
    if(line!=null) {
        float temp = Float.parseFloat(line);
        return temp / 1000.0f;
    }else{
        return 51.0f;
    }
 } catch (Exception e) {
    e.printStackTrace();
    return 0.0f;
 }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...