【问题标题】:Android magnetic sensor安卓磁传感器
【发布时间】:2013-09-11 19:08:27
【问题描述】:

我正在为 Android 操作系统开发指南针。当我使用 TYPE_MAGNETIC_FIELD 时,有些设备有这个传感器,有些设备没有。我不知道如何处理这个问题。我应该不支持这些设备还是使用其他传感器方法。你能给我一个建议吗?

    if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
            Log.d(TAG+" Magentic", String.valueOf(event.values[0]));
            mGeomagnetic[0] = mGeomagnetic[0] + alpha_mag*(event.values[0]-mGeomagnetic[0]);
            mGeomagnetic[1] = mGeomagnetic[1] + alpha_mag*(event.values[1]-mGeomagnetic[1]);
            mGeomagnetic[2] = mGeomagnetic[2] + alpha_mag*(event.values[2]-mGeomagnetic[2]);

        }

非常感谢。

【问题讨论】:

标签: android sensors magnetometer


【解决方案1】:

用 if 语句处理它?

iF(#getDeviceSensor == true) {
    if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
            Log.d(TAG+" Magentic", String.valueOf(event.values[0]));
            mGeomagnetic[0] = mGeomagnetic[0] + alpha_mag*(event.values[0]-mGeomagnetic[0]);
            mGeomagnetic[1] = mGeomagnetic[1] + alpha_mag*(event.values[1]-mGeomagnetic[1]);
            mGeomagnetic[2] = mGeomagnetic[2] + alpha_mag*(event.values[2]-mGeomagnetic[2]);

        }
} else { //use another sensor for who don't have it.

}

【讨论】:

  • 嗯首先检测设备是否支持它.. 如果它很好,如果它不使用其他资源或显示警报对话
  • 谢谢,但我希望其他传感器的名称以及如何实现它:)
猜你喜欢
  • 1970-01-01
  • 2022-10-09
  • 1970-01-01
  • 2017-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多