如何通过代码监控三星 Galaxy S8 的温度?

How can I monitor temperature on a Samsung Galaxy S8 through code?

我正在尝试访问 CPU 设备的 Android 温度,特别是 Samsung Galaxy S8(与 GearVR 一起使用)以便能够在应用程序界面中显示它.温度和 AMBIENT_TEMPERATURE 传感器似乎不可用,除非我在我的代码中做错了什么?

我尝试从传感器管理器获取默认的 AMBIENT_TEMPERATURE 和 TEMPERATURE 传感器,但两者 return 都为空。

sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
ambTemperatureSensor = sensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
if(ambTemperatureSensor == null)
        message += "No ambient temperature sensor...\n";
temperatureSensor = sensorManager.getDefaultSensor(Sensor.TYPE_TEMPERATURE);
if(temperatureSensor == null)
        message += "No temperature sensor...\n";

我完全期待 AMBIENT_TEMPERATURE 传感器出现并让我访问 CPU 温度,但当它不起作用时,我想也许可以使用已弃用的 TEMPERATURE 传感器.在调用 getDefaultSensor 之前我需要做任何事情吗?

并非每个设备上都存在每个传感器。您的设备可能根本没有温度传感器。这是最有可能不存在的数据之一,因为数据通常被误解并且不是很有用。

传感器 AMBIENT_TEMPERATURE 仅存在于 Galaxy S4 和 Galaxy Note 3 中。该传感器应该 return 环境温度,而不是 CPU 温度。您的设备没有环境温度传感器。您需要寻找一种方法来从 cpu 或设备电池中的内部传感器读取数据。

也许这就是您要找的:

how get Current CPU Temperature programmatically in all Android Versions?