是否有可能在Android中实施温度计?怎么样?
我知道BatteryManager
可以用BatteryManager.EXTRA_TEMPERATURE给你电池温度,但我不确定这是否可以用来有效地测量外部温度。
答案 0 :(得分:4)
虽然StanislavK的答案在技术上是正确的,但在阅读最新的Android Compatibility Definition之后我发现温度计传感器已被弃用,如果包括在内,它必须测量CPU温度。来自官方文件:
设备实现可能但应该是 不包括温度计(即 温度传感器。)如果是设备 实施确实包括一个 温度计,它必须测量 设备CPU的温度。它必须 不测量任何其他温度。 (注意,这种传感器类型是 在Android 2.3 API中已弃用。)
因此,对于当前版本的Android来说,似乎无法实现精确的温度计。
答案 1 :(得分:2)
首先,您必须拥有带温度计传感器的设备(温度传感器类型)。然后你可以使用它。
要检查传感器,请在代码中使用SensorManager:
//get sensor manager first
SensorManager sensorMgr = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
然后使用getSensorList并查找TYPE_TEMPERATURE。
<强>提示:强> 注意,温度更新可能“慢”,即每分钟可能有一次或两次更新。您也可以考虑校准结果(即允许基于实际测量温度的内置传感器结果添加/减去单位)。
BTW :对于外部测量,您可以使用METAR等天气服务的“当前室外温度”(基于当前设备位置)。