手機方向傳感器的缺點及解決方法探究
方向傳感器是算法生成的傳感器之一,主要借助于磁場傳感器的數(shù)據(jù)。
Android系統(tǒng)自帶了方向傳感器,不過系統(tǒng)5.0之后方法就被廢除了(我們還是可以使用的,只是谷歌不推薦繼續(xù)使用了)。谷歌提供了一套新的算法來作為替代,運用磁場傳感器和加速度傳感器來計算方向(可自行搜索調用方法)。
兩種方法之間的優(yōu)劣暫時無法判定,當然我們希望新方法的效果更好。由于沒有具體研究兩個算法之間的區(qū)別,根據(jù)我個人使用經驗來說,效果應該差不多。
算法的抗干擾能力很弱
我不是要嘲諷谷歌,而是陳述一個事實。我們想象手機中有一個小小的指南針,玩過磁鐵的朋友應該知道同性相斥、異性相吸,因此這個小指南針一旦遇到強磁干擾時就會失效。這是算法上的一大缺陷,也是難以克服的。而且市面上幾乎所有的手機傳感器都會遇到這樣一個問題,包括蘋果。
手機、電腦、鐵制品等容易帶磁性的物體,都會對手機的方向造成很大的干擾,一般來說保持合適的距離(手機電腦十五厘米以上,汽車一米以上),干擾就可以忽略不計。但是在車、電梯或者大型儀器設備附近及其內部,方向傳感器就很難保持穩(wěn)定了。
那么手機本身呢?手機本身也可以看作是強磁體,但由于硬件位置是固定的,我們可以把手機本身看作是靜態(tài)干擾(也就是說干擾是個穩(wěn)定的值),算出對應的值,做個補償即可(實際上谷歌的算法中已經考慮到這點,所以并不需要我們多操心)。
一旦受到強磁干擾,此時的傳感器在大部分情況下是很難做到自身調節(jié)并快速恢復正常的,我們可以拿著手機進行八字形回轉來使磁場重新回到正確的值,前提是離開強磁體。
如何克服
合理運用手機的陀螺儀傳感器有一定的可能性能降低磁場干擾,陀螺儀給出的是物體旋轉時的角速度,理想情況下是正好與我們的方向傳感器變化速度(也就是角速度)是一致的,二者相互結合相互印證,就能在一定程度上判斷磁場是否受到干擾,可以有效降低手機方向的突變情況。這里提供一種可行的解決思路,具體怎么做,還需要探究。


總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
- Android實現(xiàn)電子羅盤(指南針)方向傳感器的應用
- Android開發(fā)實現(xiàn)ListView點擊展開收起效果示例
- Android中BroadcastReceiver案例講解
- Android中Fragment的分屏顯示處理橫豎屏顯示的實現(xiàn)方法
- Android中SoundPool的使用步驟實例
- Android Studio三方引用報錯但是項目可以運行的解決方案
- android 無須root截圖方案的實現(xiàn)
- Android實現(xiàn)合并生成分享圖片功能
- Android自定義View實現(xiàn)課程表表格
- Android判斷json格式將錯誤信息提交給服務器
相關文章
Android自定義TextView實現(xiàn)文字傾斜效果
有時候Android自帶的控件無法滿足我們的某些要求,這時就需要我們自定義控件來實現(xiàn)這些功能。比如在實際開發(fā)應用中,我們有時需要將TextView的文字傾斜一定的角度,就需要自定義TextView。下面這篇文章就給大家介紹了利用Android TextView如何實現(xiàn)文字傾斜效果。2016-11-11
Android中應用界面主題Theme使用方法和頁面定時跳轉應用
在Android SDK中內置了下面的Theme,可以按標題欄Title Bar和狀態(tài)欄Status Bar是否可見來分類,感興趣的朋友可以了解下哈2013-06-06
詳解Android應用中使用TabHost組件進行布局的基本方法
這篇文章主要介紹了Android應用中使用TabHost組件進行布局的基本方法,不繼承TabActivity并以最基本的布局文件方式進行布局,需要的朋友可以參考下2016-04-04
Android 實現(xiàn)ViewPager邊界回彈效果實例代碼
這篇文章主要介紹了Android 實現(xiàn)ViewPager邊界回彈效果的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05

