If I call
SensorManager mgr = (SensorManager) this.getSystemService(SENSOR_SERVICE);
String text = "The maximum G Force that this device can detect is: " + mgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER).getMaximumRange();
I get 19.X m/s^2. Now is that in each axle?
I mean, if I want to get the G-Force applied to the cellphone I can do: G-Force = SQRT(Xvalue^2 + Yvalue^2 + Zvalue^2) / 9.80 m/s^2
Would the value mean: Maximum G-Force = SQRT (19^2 + 19^2 + 19^2) = 33/9.80 = 3.3G?
Isn't that too slow? Am I missing something? Or Is any trick to get a value higher? Thanks in advance. Guillermo.
I believe your calculation is correct.
It's a range suitable for detecting most things needed to detect on the device. Some devices have a large range and coarse resolution and others have a small range and a fine resolution.
The G-Force range of a sensor is determined by the chip in use and the mode it is set to by the driver. Unfortunately there isn't a way to increase the range on a given device.