Не проходят касания в систему
Я написал простой код для создания плавающего окна. На Android 11 всё работало хорошо, но на Android 12 возникли трудности.
Никак не получается сделать пропуск касания сквозь окно в систему. Через logcat узнал, что система вешает на моё окно флаг FLAG_SLIPPERY
, который препятствует прохождению касаний в систему.
Как я понял, это флаг безопасности, но я не нашёл способа отключения этого флага.
На телефоне Realme 6 pro (Android 11) всё нормально работает, на Motorolla 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.Application/.MainActivity t377} has FLAG_SLIPPERY. Please report this in b/157929241