我要做的是:
我想用我的安卓设备找到磁铁。
我所做的一切:
我正在注册我的磁场传感器

Sensor magnetometer = mSensorManager
            .getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);

onSensorChanged(SensorEvent event)方法中,如果类型是磁场,我从event.value中得到x,y,z。
到目前为止一切都很好,然后我从这三个值中得到绝对值
Math.sqrt((x*x)+(y*y)+(z*z))得到一个绝对值。
但我认为这只与设备有关,因为当我保持一块磁铁靠近设备时,不会发生任何变化(绝对值和它的(x,y,z)都不会改变)。
谢谢。

最佳答案

我猜你的仪器不是测量你的磁铁而是测量地球的磁场。当你以这种方式连接这些值时,你总是得到相同的值,这与你的设备的方向无关。除了返回值始终为0之外,您只需不测量任何值,这可能是硬件故障。

09-07 03:13