是否可以在 Android 中实现温度计?如何?
我知道可以使用BatteryManager.EXTRA_TEMPERATUREBatteryManager
为您提供电池温度,但我不确定这是否可以用来稍微准确地测量外部温度。
是否可以在 Android 中实现温度计?如何?
我知道可以使用BatteryManager.EXTRA_TEMPERATUREBatteryManager
为您提供电池温度,但我不确定这是否可以用来稍微准确地测量外部温度。
虽然 StanislavK 的回答在技术上是正确的,但在阅读了最新的Android 兼容性定义后,我发现温度计传感器已被弃用,如果包含,它必须测量 CPU 温度。来自官方文档:
设备实现可以但不应包含温度计(即温度传感器)。如果设备实现确实包含温度计,则它必须测量设备 CPU 的温度。它不得测量任何其他温度。(请注意,此传感器类型在 Android 2.3 API 中已弃用。)
因此,对于当前版本的 Android,似乎无法实现准确的温度计。
首先,您必须有一个带有温度计传感器的设备(温度传感器类型)。然后你可能会使用它。
要检查传感器,请在代码中使用SensorManager:
//get sensor manager first
SensorManager sensorMgr = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
然后使用getSensorList并查找TYPE_TEMPERATURE。
提示: 请注意,温度更新可能“缓慢”,即每分钟可能会有一到两次更新。您也可以考虑校准您的结果(即允许根据实际测量的温度在内置传感器结果中添加/减去单位)。
顺便说一句:对于室外温度,您可以使用 METAR 等天气服务中的“当前室外温度”(基于当前设备位置)。