题
是否可以在Android中实现温度计?如何?
我知道 BatteryManager
可以给您电池温度 BatteryManager.extra_temperature, ,但我不确定是否可以将其用于精确测量外部温度。
解决方案
虽然Stanislavk的答案在技术上是正确的,但阅读了最新的答案 Android兼容性定义 我发现温度计传感器已弃用,如果包括,则必须测量CPU温度。从官方文件中:
设备实现可能但不应包括温度计(IE温度传感器)。如果设备实现确实包括温度计,则必须测量设备CPU的温度。它不能测量任何其他温度。 (请注意,该传感器类型已在Android 2.3 API中弃用。)
因此,对于当前版本的Android看来,无法实现精确的温度计。
其他提示
首先,您必须具有带有温度计传感器(温度传感器类型)的设备。然后,您可以使用它。
要检查传感器,在代码中使用 Sensormanager:
//get sensor manager first
SensorManager sensorMgr = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
然后使用 getSensorlist 并寻找 type_temperature .
提示: 请注意,温度更新可能是“慢”的,即每分钟可能有一个或两个更新。您也可能会考虑校准结果(即允许根据实际测量温度添加/提取单元为内置的传感器结果)。
顺便提一句: :对于外部诱惑,您可以使用诸如元(基于当前设备位置)之类的天气服务中的“当前外部温度”。
不隶属于 StackOverflow