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);
しかし、私のアプリ ユーザーの一部は、ジャイロスコープを使用できないと不満を漏らしています。コードに問題はありますか?