谷歌纸板的网站有一个设备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