关于Android开发中轨迹回复的问题

最近我在做一个项目,需要利用手机传感器进行手机空间运动轨迹恢复,我查阅了很多资料,遇到如下问题

关于这个方法public static boolean getRotationMatrix (float[] R, float[] I, float[] gravity, float[] geomagnetic),其中gravity官方推荐用type_accelerometer的数据,同时说如果在加速状态可能会不准确
"The matrices returned by this function are meaningful only when the device is not free-falling and it is not close to the magnetic north. If the device is accelerating, or placed into a strong magnetic field, the returned matrices may be inaccurate."
我想问
1.为什么不使用type_gravity的数据,是因为精确度的问题么?根据上面的描述,应该gravity是用该时刻的重力在三轴分量才能良好的估计出旋转矩阵R。
2.如果确实只能用type_accelerometer的数据,那么可以直接引用该数据算出R吗?(type_accelerometer中包含一些线性加速度可能会导致R出错吗,我需要一个准确的R。)