Моя деятельность занимает только часть экрана. Я хочу, чтобы моя деятельность была как бы проходной, так как если касание находится за пределами моей активности, оно должно быть передано нижеуказанному элементу управления (например, домашний экран, приложение для телефона и т. Д.). Если касание активировано, то должен вызываться мой обработчик действий onTouch.
Поэтому я использую следующий код в своей деятельности по методу onCreate
Window window = this.getWindow();
window.setGravity(Gravity.TOP);
window.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
window.addFlags(WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
Все работает, кроме следующего.
Если моя активность загружается поверх других приложений, кнопка «Назад» не учитывается. Android работает так, что мое приложение зависает и дает пользователю возможность убивать или ждать дольше.
Я в порядке, когда кнопка «Назад» закрывает мою активность, но обработчик кнопки «Назад» не срабатывает. Также я установил FinishOnTouchOutside на true. Но это не относится к кнопке как к внешнему прикосновению.