xen*_*ite 16 java android android-sensors
我正在Google Android 2.1中编写一个应用程序,需要知道设备(HTC Hero)面向哪个方向(n/w/s/e).传感器及其听众工作得很好,但我从传感器获得的值非常糟糕.例如它告诉我当设备面向SW时我会面向北方......
这似乎是Android设备的已知问题.我在网上找到的"解决方案"如下所示:
这被认为是触发传感器重新校准的原因.而且:"四处走动"的东西对我有用......但我觉得这不是很专业......
那么 - 如何从SDK触发方向传感器的重新校准?我需要对传感器进行适当的校准,而没有任何花哨的东西会让这个应用程序的用户看起来像完全白痴,而他们"手动"重新校准他们的手机......
有没有办法做到这个"正确"?
编辑:
或者:有没有办法确定PROGRAMMATICY,如果设备是否正确校准?作为后备选项可以说......然后我可以警告用户该设备需要"手动"重新校准.
我认为没有办法以编程方式知道罗盘传感器是否校准正确,除非您使用 GPS 等辅助数据源。如果您可以使用 GPS,那么当用户移动时,您可以将 GPS 移动与罗盘航向进行比较并进行纠正。请记住,局部磁场可能会扰乱罗盘读数,并且设备无法知道您是否在森林中央或变压器旁边。
对于这些微型设备,您总是需要处理一些偏差。如果您还检查加速度计的值,您会发现在静止状态下它们并不总是返回 9.8 m/s^2(或至少在设备之间一致)。
在您的帮助中,您可能只需要告诉用户以 8 字形旋转/扭转手机即可重置指南针。
| 归档时间: |
|
| 查看次数: |
16049 次 |
| 最近记录: |