Вы решаете проблему, получая частичную блокировку от пробуждения от диспетчера питания, который не дает процессору спать, когда экран выключается.
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock lock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "SensorRead");
lock.acquire();
Не забудьте освободить его, когда закончите, чтобы не разрядить аккумулятор.
Это разрешение необходимо и в вашем манифесте:
<uses-permission android:name="android.permission.WAKE_LOCK" />