我该如何检测Android设备是否有陀螺仪?目前我使用以下方法来检测是否有陀螺仪。如果没有陀螺仪,则使用加速计。
SensorManager mgr = (SensorManager) getSystemService(SENSOR_SERVICE);
List<Sensor> sensors = mgr.getSensorList(Sensor.TYPE_ALL);
for (Sensor sensor : sensors) {
Log.i("sensors",sensor.getName());
if(sensor.getName().contains("Gyroscope")){
try{
mSensorManager.registerListener(this,
mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR),
SensorManager.SENSOR_DELAY_FASTEST);
return;
}catch(Exception e){
}
}
}
mSensorManager.registerListener(this,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_FASTEST);
然而,我的一些应用用户抱怨他们无法使用陀螺仪。代码有什么问题吗?