The handler register calls must be in onResume(). I'm sure I tried that so it's either my phone messing up or my brain. But anyway, for others...
@Override
public void onResume()
{
super.onResume();
m_oSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
m_oAccelerometer = m_oSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
m_oMagnetometer = m_oSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
m_oSensorManager.registerListener(this, m_oAccelerometer,SensorManager.SENSOR_DELAY_NORMAL);
m_oSensorManager.registerListener(this, m_oMagnetometer,SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onPause()
{
super.onPause();
m_oSensorManager.unregisterListener(this);
}