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

 更新时间:2019年03月27日 14:49:02   作者:jjwwwww  
今天小编就为大家分享一篇关于手机方向传感器的缺点及解决方法探究,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

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

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

算法的抗干扰能力很弱

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

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

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

一旦受到强磁干扰,此时的传感器在大部分情况下是很难做到自身调节并快速恢复正常的,我们可以拿着手机进行八字形回转来使磁场重新回到正确的值,前提是离开强磁体。

如何克服

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

总结

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

相关文章

  • Android自定义封装banner组件

    Android自定义封装banner组件

    这篇文章主要为大家详细介绍了Android自定义封装banner组件的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Android自定义TextView实现文字倾斜效果

    Android自定义TextView实现文字倾斜效果

    有时候Android自带的控件无法满足我们的某些要求,这时就需要我们自定义控件来实现这些功能。比如在实际开发应用中,我们有时需要将TextView的文字倾斜一定的角度,就需要自定义TextView。下面这篇文章就给大家介绍了利用Android TextView如何实现文字倾斜效果。
    2016-11-11
  • Android重复引用多个场景报错的问题解决

    Android重复引用多个场景报错的问题解决

    本文主要介绍了Android重复引用多个场景报错的问题解决,主要介绍了5种情况,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Android 保存WebView中的图片示例

    Android 保存WebView中的图片示例

    本篇文章主要介绍了Android 保存WebView中的图片示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Android中应用界面主题Theme使用方法和页面定时跳转应用

    Android中应用界面主题Theme使用方法和页面定时跳转应用

    在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status Bar是否可见来分类,感兴趣的朋友可以了解下哈
    2013-06-06
  • 详解Android应用中使用TabHost组件进行布局的基本方法

    详解Android应用中使用TabHost组件进行布局的基本方法

    这篇文章主要介绍了Android应用中使用TabHost组件进行布局的基本方法,不继承TabActivity并以最基本的布局文件方式进行布局,需要的朋友可以参考下
    2016-04-04
  • 详解关于MIUI 9沉浸式状态栏的最新适配

    详解关于MIUI 9沉浸式状态栏的最新适配

    由于各系统版本的限制,沉浸式状态栏对系统有要求,本篇文章主要介绍了详解关于MIUI 9沉浸式状态栏的最新适配,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • Android四种常见布局方式示例教程

    Android四种常见布局方式示例教程

    Android四种布局有线性布局LinearLayout、相对布局RelativeLayout、网格布局GridLayout、和滚动视图ScrollView,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09
  • Android 实现ViewPager边界回弹效果实例代码

    Android 实现ViewPager边界回弹效果实例代码

    这篇文章主要介绍了Android 实现ViewPager边界回弹效果的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • Android实现标题显示隐藏功能

    Android实现标题显示隐藏功能

    这篇文章主要介绍了Android实现标题显示隐藏功能
    2016-02-02

最新评论