Проблемы обнаружения наложения на устройствах Samsung с опцией всплывающего окнаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблемы обнаружения наложения на устройствах Samsung с опцией всплывающего окна

Сообщение Anonymous »


Изображение

В настоящее время я разрабатываю 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")
}
Этот подход отлично работает на Huawei и других устройствах с плавающими окнами, где успешно обнаруживается перехват. Однако когда я запускаю тот же код на устройствах Samsung, использующих функцию всплывающего окна, обнаружение наложения вообще не работает — ничего не происходит.
Я также пробовал использовать :

Код: Выделить всё

setHideOverlayWindows(true)
Это доступно, начиная с уровня API 31, и предполагается, что оно предотвращает рисование несистемных окон-наложений поверх текущего окна, но это также не работает на устройствах Samsung.< /p>
Кто-нибудь сталкивался с подобной проблемой или есть обходной путь для обнаружения наложения на устройствах Samsung? Мы также будем благодарны за любую информацию о том, чем всплывающее окно Samsung отличается от стандартных плавающих окон!
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... iew-option
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»