Pokémon Go Will Try To Use Most Of Your Mobile Device Sensor

When you start Pokémon Go App, there is a Sensor Manager by Niantic Labs will check your device for all possible sensors to help you improve the game experience. Those sensors will try to sense your movement, step, location, speed even gravity and gyroscope.

If you are using different device, the data you give them is different, the step calculation is different too. That’s why the hatching egg speed is different time with different device. Because some of the mobile phone or some older phone device do not have so much sensors.

Gravity, Gyroscope, Accelerometer, Magnetic, Rotation, LinearAcceleration Sensors are being detected when the game start.

Here are some of the sample codes:

private void startSensorManager()
  {
    if (this.gravity != null)
      this.sensorManager.registerListener(this, this.gravity, 3, ContextService.getServiceHandler());
    if (this.gyroscope != null)
      this.sensorManager.registerListener(this, this.gyroscope, 3, ContextService.getServiceHandler());
    if (this.accelerometer != null)
      this.sensorManager.registerListener(this, this.accelerometer, 2, ContextService.getServiceHandler());
    if (this.magnetic != null)
      this.sensorManager.registerListener(this, this.magnetic, 2, ContextService.getServiceHandler());
    if (this.rotation != null)
      this.sensorManager.registerListener(this, this.rotation, 2, ContextService.getServiceHandler());
    if (this.linearAcceleration != null)
      this.sensorManager.registerListener(this, this.linearAcceleration, 3, ContextService.getServiceHandler());
    this.status = ServiceStatus.INITIALIZED;
  }

pokemon-go-sensor