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

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

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

算法的抗干扰能力很弱

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

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

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

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

如何克服

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

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

  1. 魅族显示无法连接到服务器,魅族连接电脑无法识别怎么办_魅族手机usb无法连接电脑的解决方法...

    最近有位朋友向小编反映说自己刚买了一台魅族手机,可是在用它连接电脑的时候却一直无法识,别连不上电脑,不知道怎么回事.那么魅族连接电脑无法识别怎么办呢?小编就针对这个问题,给大家带来魅族手机usb无法连 ...

  2. android手机 无电池开机,手机无法开机的6种解决方法

    手机无法开机的6种解决方法 现在安卓智能机十分普遍,但是也容易出现多重问题.关于手机不能开机是很多朋友都碰到的问题.那么手机不能开机怎么办?不用担心,下面小编就为大家介绍安卓手机突然无法开机的6种解决 ...

  3. android手机 无电池开机画面,安卓手机无法开机的6种解决方法

    现在安卓智能机十分普遍,但是也容易出现多重问题.关于手机不能开机是很多朋友都碰到的问题.那么手机不能开机怎么办?不用担心,下面学习啦小编就为大家介绍安卓手机突然无法开机的6种解决方法,希望可以帮到大家 ...

  4. 手机游戏显示不了服务器闪退,手机为什么玩游戏闪退_手机游戏进去就闪退解决方法...

    智能手机在我们平时生活中扮演的角色越来越重要,但在使用过程中或多或少都会遇到一些问题.例如最近就用户小伙伴跟小编反映说,自己的手机出现了玩游戏闪退的情况,这是为什么呢?我们又该怎么来处理呢?对此下面为 ...

  5. 手机常见干扰问题分析与解决方法

    手机常见干扰问题分析与解决方法 1.LCM影响天线的耦合测试 现象描述:屏灭,屏灭影响到天线的耦合测试(C732LV) 原因分析:LCM的工作频率与天线频率接近,LCM在工作时会对天线产生干扰. 具体 ...

  6. 三星手机没有信号网络连接到服务器,手机没信号的原因以及解决方法

    现在手机是一件很普遍的通讯工具,因为现在手机功能的强大,所以基本上人人一部手机.目前在社会上比较流行的牌子就是苹果或者三星手机.不过想必大家在用手机的时候都会出现手机没有信号这个问题.这个问题是一件比 ...

  7. Android调用系统群发短信,vivo部分手机弹出“无效的地址”解决方法

    Android调用系统群发短信,vivo部分手机弹出"无效的地址"解决方法 第一次写文章,来试试水 之前项目中有一个需求是获取通讯录联系人信息,并展示出来,然后可以选择一个或者多个 ...

  8. 微型计算机开机不了怎么办,手机不能开机怎么办?手机突然无法开机6种解决方法介绍...

    现在智能机十分普遍,但是也容易出现多重问题:关于手机不能开机是很多朋友都碰到的问题.那么手机不能开机怎么办?不用担心,下面脚本之家小编就为大家介绍机突然无法开机6种解决方法,帮助大家解决智能机集成电池 ...

  9. 魅蓝usb计算机连接网络设置,魅族连接电脑无法识别怎么办_魅族手机usb无法连接电脑的解决方法...

    最近有位朋友向小编反映说自己刚买了一台魅族手机,可是在用它连接电脑的时候却一直无法识,别连不上电脑,不知道怎么回事.那么魅族连接电脑无法识别怎么办呢?小编就针对这个问题,给大家带来魅族手机usb无法连 ...

  10. android拍照图片如何存储空间不足,手机照相显示内存不足怎么办 解决方法【详解】...

    用手机来拍照,这已经成为手机不可或缺的一个重要功能.手机拍照时,显示内存不足,该怎么办?关键时刻怎么可以没有内存! 下面一起来学习手机照相显示内存不足的解决方法. 1.当去旅游或是出差的时候,原本打算 ...

最新文章

  1. 【GVA】gorm多对多关联使用Preload带出关联表中的数据
  2. 中小企业CRM评测-用户交互_易客
  3. velocity自定义函数_velocity基本语法和总结
  4. 让多核CPU占用率曲线听你指挥(Windows实现)——《编程之美》1.1学习笔记
  5. jQuery学习(十)—替换方法
  6. azure云数据库_Azure Data Studio中Windows的数据库管理工具扩展
  7. 一次性定时器 setTimeout
  8. PAT甲级题考点(转载各个大佬)
  9. Java编程思想(一)
  10. PotPlayer LAV MadVR SVP4/BFRC播放器设置(极为详细,硬解,渲染,插帧按CPU性能评级)
  11. Windows 2003声卡驱动的安装.
  12. 右脑图像记忆法原理和方法入门
  13. 利用IV分析仪测量二极管的伏安特性的测量方法及步骤
  14. mac电脑外接显示器后没有声音
  15. 中小企业如何取舍OA办公系统的功能?
  16. 菜狗centos7.6安装CDH6.1.1(5.13.2)离线集群安装步骤和遇到的各种坑(笔记)
  17. python 爬取种子_Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息...
  18. 《程序员》7月刊推荐:社交网数据库技术分析
  19. 借助传感器用计算机测速度实验题,甘肃高考改革后备考注意事项
  20. [算法][面试题]疯狂队列-排列使得序列两两间“差值的绝对值“之和最大

热门文章

  1. 伴随着三维全息投影技术的升级,物理屏幕将彻底消失
  2. 三角网格(Triangle Mesh)与四角mesh网格理解总结
  3. 802.1Q VLAN 简介
  4. Alfred Workflow教程与实例
  5. 找软件测试工作自测,测试经验分享:做一个靠谱的软件测试人员
  6. 2021-08-27-亚马逊 MWS 坑 handling time(handing time)
  7. 系统内存占用率高导致电脑卡顿的解决方案
  8. php7 yar扩展,php7安装yar扩展的方法详解
  9. linux中swp是什么文件,Linux中.swp 文件的产生与解决方法
  10. 阿里云服务器续费流程及折扣