首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在所有手机上使用TYPE_LINEAR_ACCELERATION吗?

我可以在所有手机上使用TYPE_LINEAR_ACCELERATION吗?
EN

Stack Overflow用户
提问于 2016-06-28 06:26:24
回答 1查看 423关注 0票数 0

我正在开发一款可以测量汽车加速的应用程序。

我没有使用加速度计,而是阅读了有关线性加速度计的知识并实现了它。

我有两个设备要测试,它在索尼Xperia Z1上运行良好,但我没有得到任何价值的旧阿尔卡特onetouch。

是因为它的android版本(5.1vs4.2),还是因为我的代码错误,或者是硬件限制?

EN

回答 1

Stack Overflow用户

发布于 2016-06-28 06:31:44

摘自Android文档:

TYPE_LINEAR_ACCELERATION

在API level 9 int TYPE_LINEAR_ACCELERATION中增加了一个描述线性加速度传感器类型的常量。

有关更多详细信息,请参阅SensorEvent.values。

常量值: 10 (0x0000000a)

这意味着它可以在任何设备上运行post API 9

请考虑洛克在这篇post中的回应。它说明了您应该使用哪种类型的传感器来测量某些类型的运动。

更新:我将添加洛克回应的信息,因为它可能会对未来的读者有所帮助:

TYPE_ACCELEROMETER使用加速度计,并且仅使用加速度计。它返回原始的加速计事件,只有很少的处理,甚至根本没有处理。

TYPE_GYROSCOPE (如果存在)使用陀螺仪,并且仅使用陀螺仪。与上面一样,它返回原始事件(角速度/ rad/s),根本不进行任何处理(没有偏移/刻度补偿)。

TYPE_ORIENTATION已弃用。它以偏航/俯仰/滚动度为单位返回方向。它的定义不是很好,只有当设备没有“滚动”时才能被依赖。该传感器使用加速度计和磁力计的组合。使用SensorManager的帮助器可以获得稍微更好的结果。这个传感器被严重“处理”了。

TYPE_LINEAR_ACCELERATION、TYPE_GRAVITY、TYPE_ROTATION_VECTOR是“融合”的传感器,分别返回线加速度、重力和旋转向量(一个四元数)。没有定义这些是如何实现的。在一些设备上,它们以硬件实现,在一些设备上,它们使用加速计+磁强计,在其他设备上,它们使用陀螺仪。

在Nexus S和Xoom上,当前未使用陀螺仪。它们的表现就像没有陀螺仪可用一样,就像Nexus One或Droid一样。我们计划在未来的版本中改善这种情况。

目前,利用陀螺仪的唯一方法是使用TYPE_GYROSCOPE并手动积分输出。

我希望这能帮到你,

Mathias

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38064169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档