我正在为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]);
}
非常感谢。
答案 0 :(得分:0)
使用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.
}