Сохранение экрана активным можно выполнить с помощью функции wakelock:
mWakeLock = mPowerManager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,
getClass().getName());
или добавив FLAG_KEEP_SCREEN_ON в окно,
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
В чем техническая разница между этими двумяа с точки зрения производительности и времени автономной работы что порекомендуете?