您好,我想知道您从TYPE_LINEAR_ACCELERATION获得的读数是否是没有重力的加速度计读数,是否等于从IOS中的userAcceleration获得的读数。从我所看到的,它们是加速度计读数减去重力,但只是要确定一下,因为Apple不会发布任何源代码。
答案 0 :(得分:0)
是的,它们是相同的,因为它们都是测量总加速度减去重力(即用户施加在设备上的加速度)。
要注意的一件事是iOS和Android的度量单位和参考框架不同。 Android以m / s ^ 2表示加速度,而iOS以g表示(约9.81 m / s ^ 2)。参考框架在文档中似乎是相同的(请参阅下面的链接),但iOS参考框架实际上与Android参考框架相反。例如,当设备静止在桌子上时,iOS在z轴上的尺寸约为-1.0,而Android的尺寸约为9.81 m / s ^ 2(请注意,iOS值为负,Android值为正)。
要将iOS读数转换为Android参考框架和度量单位,可以将来自所有轴(x,y和z)的iOS读数乘以-g(大约为-9.81):
acc_x_iOS * -9.81 ≡ acc_x_Android
acc_y_iOS * -9.81 ≡ acc_y_Android
acc_z_iOS * -9.81 ≡ acc_z_Android
Android文档:https://developer.android.com/guide/topics/sensors/sensors_overview