Я начинал так же, как и вы, и флаги окон не работали.
Наконец-то я заработал, используя две службы Android: KEYGUARD_SERVICE
и POWER_SERVICE
:
KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
final KeyguardManager.KeyguardLock kl = km.newKeyguardLock("MyKeyguardLock");
kl.disableKeyguard();
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, "MyWakeLock");
wakeLock.acquire();
Не забудьте снять блокировку после пробуждения, когда закончите.
Вам потребуется запросить разрешения DISABLE_KEYGUARD
и WAKE_LOCK