2

是否可以在 Android 中实现温度计?如何?

我知道可以使用BatteryManager.EXTRA_TEMPERATUREBatteryManager为您提供电池温度,但我不确定这是否可以用来稍微准确地测量外部温度。

4

2 回答 2

4

虽然 StanislavK 的回答在技术上是正确的,但在阅读了最新的Android 兼容性定义后,我发现温度计传感器已被弃用,如果包含,它必须测量 CPU 温度。来自官方文档:

设备实现可以但不应包含温度计(即温度传感器)。如果设备实现确实包含温度计,则它必须测量设备 CPU 的温度。它不得测量任何其他温度。(请注意,此传感器类型在 Android 2.3 API 中已弃用。)

因此,对于当前版本的 Android,似乎无法实现准确的温度计。

于 2011-01-02T03:17:11.247 回答
2

首先,您必须有一个带有温度计传感器的设备(温度传感器类型)。然后你可能会使用它。

要检查传感器,请在代码中使用SensorManager

//get sensor manager first
SensorManager sensorMgr = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);

然后使用getSensorList并查找TYPE_TEMPERATURE

提示: 请注意,温度更新可能“缓慢”,即每分钟可能会有一到两次更新。您也可以考虑校准您的结果(即允许根据实际测量的温度在内置传感器结果中添加/减去单位)。

顺便说一句:对于室外温度,您可以使用 METAR 等天气服务中的“当前室外温度”(基于当前设备位置)。

于 2010-12-30T11:43:21.900 回答