События касания не передаются в системуAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 События касания не передаются в систему

Сообщение Anonymous »

На Android 11 все работало нормально, но на Android 12 возникли трудности.
Кажется, мне не удается передать события касания через окно в систему. С помощью logcat я узнал, что система устанавливает в моем окне флаг FLAG_SLIPPERY, который предотвращает передачу событий касания в систему.
Насколько я понимаю, это — это флаг безопасности, но я не нашел способа отключить этот флаг.
На Realme 6 pro (Android 11) все работает нормально, а на Motorola Edge 30 ( Android 12), это не так.

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

canvasLayoutParams_vi = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);

canvasLayoutParams_vi.gravity = Gravity.TOP | Gravity.START;
canvasLayoutParams_vi.x = 0;
canvasLayoutParams_vi.y = 0;

vi = new EmptyView(this);
windowManager.addView(vi, canvasLayoutParams_vi);
Сама ошибка:

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

Letterbox_left_ActivityRecord{606481 u0 com.MyApp/.MainActivity t377} has FLAG_SLIPPERY. Please report this in b/157929241
Я пробовал разные флаги LayoutParams, но это не помогло. Мне нужно, чтобы события касания передавались в систему.

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

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

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

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

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

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