谷歌纸板的网站上有一个设备兼容性列表:似乎有些不完整,因此我尝试查看Cardboard.jar的源代码。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);}
在与该文件相同的文件中定义了INPUT_SENSORS
{TYPE_ACCELEROMETER,TYPE_GYROSCOPE};
我不确定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 (inttype)功能在运行时检查传感器是否可用于您的应用程序 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)