
В настоящее время я разрабатываю Android app с использованием Kotlin/Jetpack Compose и столкнулись с постоянной проблемой при попытке обнаружить наложение на устройствах Samsung с помощью параметра «Всплывающее окно». Я пытаюсь обнаружить наложения, используя флаги FLAG_WINDOW_IS_PARTIALLY_OBSCURED и FLAG_WINDOW_IS_OBSCURED в pointerInteropFilter, как показано ниже:
Код: Выделить всё
Button(
onClick = { /* Button Click Action */ },
modifier = Modifier
.padding(16.dp)
.pointerInteropFilter { event ->
val flags = event.flags
val isPartiallyObscured = (flags and FLAG_WINDOW_IS_PARTIALLY_OBSCURED) != 0
val isFullyObscured = (flags and FLAG_WINDOW_IS_OBSCURED) != 0
val theBadTouch = isPartiallyObscured || isFullyObscured
if (event.action == ACTION_DOWN && theBadTouch) {
statusText = "Tapjack detected! (flags: $flags)"
true // Don't consume the event
} else {
false // Consume the event normally
}
}
) {
Text("Button 2")
}
Я также пробовал использовать :
Код: Выделить всё
setHideOverlayWindows(true)
Кто-нибудь сталкивался с подобной проблемой или есть обходной путь для обнаружения наложения на устройствах Samsung? Мы также будем благодарны за любую информацию о том, чем всплывающее окно Samsung отличается от стандартных плавающих окон!
Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/790 ... iew-option
Мобильная версия