Я хочу попросить пользователя отключить блокировку клавиатуры. Но KeyguardManager.requestDismissKeyguard()
можно использовать только с уровнем API 26. Если устройство заблокировано с помощью защиты пин-кодом, FLAG_DISMISS_KEYGUARD
не работает, как requestDismissKeyguard()
.
when {
// Android 8.0以上
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1 -> {
setShowWhenLocked(true)
setTurnScreenOn(true)
val keyguardManager = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
keyguardManager.requestDismissKeyguard(this, null)
}
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O -> {
window.addFlags(
FLAG_TURN_SCREEN_ON or FLAG_SHOW_WHEN_LOCKED
)
val keyguardManager = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
keyguardManager.requestDismissKeyguard(this, null)
}
else -> {
window.addFlags(
FLAG_TURN_SCREEN_ON or FLAG_SHOW_WHEN_LOCKED or FLAG_DISMISS_KEYGUARD
)
}
}
Если есть другой способ, я бы хотелось бы знать.
Спасибо.