手机方向传感器的缺点及解决方法探究

 更新时间:2019年03月27日 14:49:03   作者:jjwwwww   我要评论

今天小编就为大家分享一篇关于手机方向传感器的缺点及解决方法探究,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

方向传感器是算法生成的传感器之一,主要借助于磁场传感器的数据。

Android系统?#28304;?#20102;方向传感器,不过系统5.0之后方法就被废除了(我们还是可以使用的,只是谷歌不推荐继续使用了)。谷歌提供了一套新的算法来作为替代,运用磁场传感器和加速度传感器来计算方向(可自行搜索调用方法)。

两种方法之间的优劣暂时无法判定,当然我们希望新方法的效果更好。由于没有具体研究两个算法之间的区别,根据我个人使用经验来说,效果应该差不多。

算法的抗干扰能力很弱

我不是要嘲讽谷歌,而是陈述一个事实。我们想象手机中有一个小小的指南针,玩过磁铁的朋友应该知道同性相斥、异性相吸,因此这个小指南针一旦遇到?#30475;?#24178;扰?#26412;?#20250;失效。这是算法上的一大缺陷,也是难以克服的。而且市面上几乎所有的手机传感器都会遇到这样一个问题,包括?#36824;?/p>

手机、电脑、铁制品等容易带磁性的物体,都会对手机的方向造成很大的干扰,一般来?#24403;?#25345;合适的距离(手机电脑十五厘米以?#24076;?#27773;车一米以?#24076;?#24178;扰就可以忽略不计。但是在车、电梯或者大型仪器设备附近及其内部,方向传感器就很难保持稳定了。

那么手机本身呢?手机本身也可以看作是?#30475;?#20307;,但由于硬件位置是固定的,我们可以把手机本身看作是静态干扰(也就是说干扰是个稳定的值),算出对应的值,做个补偿即可(?#23548;?#19978;谷歌的算法中已经考虑到这点,所以并不需要我们多操心)。

一旦受到?#30475;?#24178;扰,此时的传感器在大部分情况下是很难做到自身调节并快速?#25351;?#27491;常的,我们可以?#31859;?#25163;机进行八?#20013;位?#36716;来使磁场重新回到正确的值,前提是离开?#30475;?#20307;。

如何克服

合理运用手机的陀螺仪传感器有一定的可能性能降低磁场干扰,陀螺仪给出的是物体旋转时的角速度,理想情况下是正好与我们的方向传感器变化速度(也就是角速度)是一致的,二者相互结合相互印证,就能在一定程度上判断磁场是否受到干扰,可以有效降低手机方向的突变情况。这里提供一种可行的解决思路,具体怎么做,还需要探究。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

  • Android中OptionMenu用法实例

    Android中OptionMenu用法实例

    这篇文章主要介绍了Android中OptionMenu用法,实例分析了Android中OptionMenu创建操作的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Android控件系列之XML静态资源使用介绍

    Android控件系列之XML静态资源使用介绍

    本文全面介绍了在Android中,如何充分利用XML布局文件来配合Java构筑界面,从而达到界面与逻辑的代码分离。另外,还介绍了如何分别在XML和代码中如?#20301;?#21462;静态资源的值或者控件的实例
    2012-11-11
  • Android截屏保存png?#35745;?#30340;实例代码

    Android截屏保存png?#35745;?#30340;实例代码

    这篇文章主要介绍了Android截屏保存png?#35745;?#30340;小例子,可以在应用提供这个小功能,很实用的
    2013-11-11
  • Android中Fragment的解析和使用详解

    Android中Fragment的解析和使用详解

    现在Fragment的应用真的是越来越广泛了,之前Android在3.0版本加入Fragment的时候,主要是为了解决Android Pad屏幕比较大,空间不能充分利用的问题,但现在?#35789;?#21482;是在手机?#24076;?#20063;有很多的场景可以运用到Fragment了,这篇文章给大家介绍了Android中Fragment的解析和使用。
    2016-11-11
  • ?#31243;竌ndroid获取设备唯一标识完美解决方案

    ?#31243;竌ndroid获取设备唯一标识完美解决方案

    本篇文章主要介绍了?#31243;竌ndroid获取设备唯一标识完美解决方案,具有一定的参考价值,有兴趣的可以了解一下
    2017-08-08
  • Android简易电?#23433;?#21495;器实例详解

    Android简易电?#23433;?#21495;器实例详解

    这篇文章主要为大家详?#38468;?#32461;了Android简易电?#23433;?#21495;器实例,具有一定的参考价值,感兴趣的小伙伴们可以参?#23478;?#19979;
    2017-07-07
  • android LinearLayout和RelativeLayout组合实现精确布局方法介绍

    android LinearLayout和RelativeLayout组合实现精确布局方法介绍

    用android LinearLayout和RelativeLayout实现精确布局此方法适合很适合新人看
    2012-11-11
  • 自定义Toast工具类ToastUtil防止多次点击时Toast不消失的方法

    自定义Toast工具类ToastUtil防止多次点击时Toast不消失的方法

    下面小编就为大家带来一篇自定义Toast工具类ToastUtil防止多次点击时Toast不消失的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 最新评论

    常用在线小工具

    时时彩包赢公式0369
    吉林快三当前遗漏数据 中国竟彩篮球比分 香港赛马会档位统计 3d试机号查询 斯诺克英锦赛2019转播 体育彩票6十1开奖结果 河南快赢481微信群 大乐透走势图带连线 腾讯分分彩官 平特一肖连续多期不开 今晚7星彩开奖结果查询 京东彩票入口 北京快乐8 免费计划 湖北30选5开奖查询 排列五走势图带坐标连线走势图带连线