Problema de Android SensorEventListener

Estoy tratando de crear una aplicación que lee datos desde una brújula digital. Intenté reutilizar el código del libro Professional Android Application Development pero el IDE mostró una nota

El tipo SensorListener está en desuso

Supongo que es porque el código del libro está escrito para la versión anterior del SDK, así que intenté usar SensorEventListener en su lugar.

Entonces cuando intenté registrar al oyente

sensorManager.registerListener(sensorListener, SensorManager.SENSOR_ORIENTATION, SensorManager.SENSOR_DELAY_FASTEST);

apareció un error:

El método registerListener (SensorListener, int, int) en el tipo SensorManager no es aplicable para los argumentos (SensorEventListener, int, int)

así que intenté convertir SensorEventListener en SensorListener, pero la aplicación no funciona.

¿Alguien sabe cómo usar el sensor en las nuevas versiones de SDK?

Gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta