当我在Galaxy S3上测试它显示
时,我正在android中创建一个温度计应用程序TYPE_AMBIENT_TEMPERATURE NOT Available
TYPE_TEMPERATURE NOT Available
我想知道Galaxy S3上面有传感器吗?或者我如何解决这个问题以获得温度?
答案 0 :(得分:0)
检查特定目标手机上是否存在传感器的简单方法是安装像AndroSensor这样的应用。这将列出所有可用的传感器。
我怀疑底层传感器是否缺失,你将能够做多少。您可以使用气象服务来获取设备位置的当前温度,但这对温度计没有帮助。
答案 1 :(得分:0)
正如Yohannes在评论中所说,你只能计算标准的大气温度,这对于航空业中常用的日常使用是无用的。
这是温度估算与气压高度的关系。 http://home.anadolu.edu.tr/~mcavcar/common/ISAweb.pdf(第2页)。
似乎只能使用具有蓝牙或类似功能的外部温度传感器,并在您的应用推广中需要此传感器。
答案 2 :(得分:0)
不确定这是否也适用于Galaxy S3,但是您可以尝试查找类型值大于TYPE_DEVICE_PRIVATE_BASE
的传感器。许多手机(例如Nexus 5x和Pixel 3)都有一个甚至多个传感器,可以通过该传感器显示温度,通常您可以通过传感器的名称(例如“ BMI160 Temperature”或“ BMP380 Temperature”)来分辨。像素3)。
这些“供应商定义的传感器”通常来自需要温度读数以进行补偿/校准的传感器(BMI160是IMU,BMP380是Pixel 3的晴雨表)。特别是气压计很可能具有温度通道。
但是,有充分的理由说明制造商没有通过正式的TYPE_AMBIENT_TEMPERATURE
类型提供这些温度读数:
将温度计放在封闭的设备内部,该设备会从内部加热自身,这不是测量环境温度的好方法。特别是,如果温度读数仅用于补偿传感器的温度漂移,则您将无法获得任何有用的信息,因为您通常会测量手机内部的温度。即使手机正式测量了环境温度,出于相同的原因,结果也不会十分精确。