События касания не передаются в систему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

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