谷歌紙板的網站有一個設備compatibility list: 這似乎有些不完整,所以我試圖看看Cardboard.jar的source code。 HeadTracker.java似乎有以下邏輯:
SensorManager sensorManager = (SensorManager)HeadTracker.this.mContext.getSystemService("sensor");
for (int sensorType : HeadTracker.INPUT_SENSORS) {
Sensor sensor = sensorManager.getDefaultSensor(sensorType);
sensorManager.registerListener(HeadTracker.this.mSensorEventListener, sensor, 0, handler);
}
隨着在同一文件中定義爲
{TYPE_ACCELEROMETER,TYPE_GYROSCOPE} INPUT_SENSORS;
我不確定HeadTracker是否可以在僅使用其中一個傳感器的手機上工作。我的猜測是,兩者都是必要的。
您的應用程序可能需要以與您的清單以下行運行(甚至是在Android市場上可見的)某些審查:
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />
<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true" />
你也可以檢查傳感器提供給您的在運行時使用SensorManager的應用程序 public Sensor getDefaultSensor (int type)
函數。
我正在做這種類型的任務..但沒有獲得成功..你能幫助我..嗎?我已經完成了,創建一個VR表面並在其中設置圖像。但我希望這個圖像與頭部運動一起工作。我怎麼能這樣做.. – Amardeepvijay 2014-11-14 07:02:11
我假設你已經有清單中的'uses-feature android:glEsVersion =「0x00020000」'?你能否詳細說明「什麼都沒有發生」?你的意思是你沒有得到任何加速計數據? – 2014-11-14 23:43:01
是的,沒有數據。 – 2014-11-16 11:04:12