2012-08-01 23 views
5

當我在設備上調用SensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR)時,它返回null。我知道這是一個虛擬傳感器(用一些聰明的數學來從真實傳感器中獲取數值)。我返回null,因爲我的設備沒有ROTATION_VECTOR工作所需的硬件傳感器之一。Sensor.TYPE_ROTATION_VECTOR返回null

所以我的問題是:

  • 需要什麼樣的硬件傳感器,使ROTATION_VECTOR工作
  • 什麼物理設備做到這一點(即,如果我今天買了平板電腦,想旋轉矢量傳感器工作,我需要買什麼樣的發明)?
  • 如果沒有ROTATION_VECTOR傳感器,我需要哪些選項來設計設備方向?

編輯:我們採訪了三星關於這個決定,在平板電腦上的陀螺儀傳感器被打破,這就是爲什麼我們得到null改回爲rotation_vector傳感器。

+0

在我的Galaxy Tab 2上,旋轉矢量傳感器爲空,這很奇怪,因爲這個傳感器是虛擬的。換句話說,它是由物理加速計和磁力計傳感器產生的軟件,它們存在!我有一個自定義的4.2.2 ROM安裝。我很好奇,如果這是原因。 – WindRider 2013-06-11 21:28:09

回答

6

如果你瞭解how coordinates are defined此傳感器(找到部分Sensor.TYPE_ROTATION_VECTOR:)文件,然後在需要的硬件是顯而易見的:accelerometermagnetometer。陀螺儀也可以用來獲得更穩定的結果(我已經在某處描述了這種傳感器如何工作但無法找到它)。

+0

如果你能找到你的鏈接傳感器的工作原理,將不勝感激。謝謝 – gbanfill 2012-08-01 14:28:32

+1

http://www.youtube.com/watch?v=C7JQ7Rpwn2k搜索:android傳感器融合(這是TYPE_ROTATION_VECTOR的工作方式)。 – 2012-08-01 14:51:05

+0

非常有用。謝謝。編輯的問題發現陀螺儀從此設備中丟失。 – gbanfill 2012-09-07 16:04:14