Google Cardboard VR sensors

前端 未结 3 1494
醉梦人生
醉梦人生 2021-02-05 10:37

I\'m using the Google Cardboard (its HeadTracker class) to detect certain things about device rotation in an AR application. It works very well.

Ho

3条回答
  •  [愿得一人]
    2021-02-05 11:26

    Google cardboard's website has a device compatibility list: It seems somewhat incomplete, so I tried taking a look into Cardboard.jar's source code. HeadTracker.java seems to have the following logic:

    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);
    }
    

    With INPUT_SENSORS defined in the same file as

    {TYPE_ACCELEROMETER, TYPE_GYROSCOPE};

    I'm not sure if HeadTracker can work on phones with only one of those sensors. My guess is that both are necessary.

    your app can require certain censors in order to run (or even be visible on the android market) with the following lines in your manifest:

    
    
    

    you can also check if the sensors are available to your app at runtime using SensorManager's public Sensor getDefaultSensor (int type) function.

提交回复
热议问题