Пользователь ожидает, что мое приложение отключит экран после использования. На данный момент я достигаю этого с правами администратора устройства и DevicePolicyManager.lockNow()
, который отлично работает, если для параметров безопасности установлены PIN/Pattern/FaceUnlock и т.д.
Однако, если вы используете Slide/None, приведенная выше команда просто приводит пользователя к главному экрану (или ничего не делает), что понятно, так как ничего не "блокировать". Есть ли способ добиться отключения экрана в такой ситуации? Мое приложение требует SDK >= 16, если это имеет значение.
Итак, я думаю, мой вопрос: как приложение может надежно отключить экран (я не держу wakelock
, я использую WindowManager
-flags FLAG_TURN_SCREEN_ON
в onAttachedToWindow()
).
"Поток" моего приложения:
- Активность запускается по желанию, пока экран выключен, отображается над клавиатурой/переключателями на экране с указанными выше флажками
- Пользователь активно отклоняет мою активность, я звоню lockNow()
и finish()
, и пользователь ожидает, что экран отключится. Если пользователь использует блокировку none/slide, это не работает, и вместо этого отображается рабочий экран пользователя.
Спасибо!