Android方向傳感器的相關問題

android的方向傳感器Sensor.TYPE_ORIENTATION(已過時,實測新方法得到的結果和舊方法一致)

三個值分別表示:

value[0] 方向角,用來測方向

value[1] 垂直方向夾角,擡起手機上下兩側該值改變

value[2] 水平方向夾角,擡起手機左右兩側該值改變

這三個值按理說是可以完全還原出手機在3D空間中的方向姿態的。但是小米品牌的部分設備該值反常。

使用華爲設備測試該傳感器參數。首先手機水平放置,value[1],value[2]基本爲0,擡起手機右側,value[2]增加,經過90度這個臨界點後value[2]又開始減少,此時,value[0]方向角發生一個100多度的突變。

使用小米設備,重複該操作,經過臨界點後,value[0]方向角未發生任何變化。

小米設備的方向傳感器參數反常了,還原出來的3D姿態東南西北方向不對。

 

最開始我認爲是不是小米把3個方向角的值進行了某些換算,所以進行控制變量法測試value[1]和value[2]的值。測試發現,華爲設備和小米設備同步操作下,垂直方向夾角value[1]和水平方向夾角value[2]無論怎麼變化都是一致的。這說明,小米設備只對方向角value[0]進行了偏移矯正。

這真的就很難受了,相當於要單獨給小米設備調整這個參數,並且還不清楚是不是所有的小米設備方向傳感器參數都是如此。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章