Разрешение SYSTEM_ALERT_WINDOW от Lux делает части нашего приложения неработоспособными

В течение нескольких месяцев наше приложение получало плохие отзывы из-за жалобы пользователей на то, что с основной частью нашего приложения невозможно взаимодействовать. В нашем приложении используются библиотеки поддержки и панель действий. Согласно этим пользователям, панель действий является единственной частью приложения, которая реагирует на сенсорный интерфейс пользователя. Все, что находится под панелью действий (за исключением кнопок Android, кнопок назад и т. Д.), Не отвечает.

После многих неприятностей с нашей стороны, пытаясь воспроизвести проблему, мы, наконец, обнаружили, что установка приложения Lux вызывает такое поведение. Когда Lux установлен, единственное, что реагирует на пользовательский сенсор, – это панель действий.

Глядя на разрешения Люкса, я вижу следующее:

Другие пользовательские интерфейсы
Использовать другие приложения

Который, посмотрев его, соответствует этому разрешению для Android:

android.permission.SYSTEM_ALERT_WINDOW 

Пользователи уже подтвердили, что приложение Lux является тем, что вызывает проблему.

Мой вопрос: как это можно исправить, не сообщая пользователям об удалении Lux? Это ошибка андроида, или наша? Есть ли что-то, что мы могли бы сделать, что делает наше приложение невосприимчивым, но не другим?

Мой следующий шаг, я думаю, должен был отправить электронное письмо в команду Lux, чтобы узнать, знают ли они, что может быть причиной этого (наряду с нашим собственным расследованием). Мой инстинкт заключается в том, чтобы также посылать по электронной почте команду Android, потому что, по моему мнению, внешнее приложение не должно влиять на поведение другого так резко.

Вы случайно используете представление с параметром android:filterTouchesWhenObscured ? Когда установлено значение true, я считаю, что это может вызвать вашу проблему.

Например, в XML это будет выглядеть так:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout" android:filterTouchesWhenObscured="true" android:layout_height="fill_parent" android:layout_width="fill_parent"/> 

Удалите строку FilterTouchesWhenObscured, и все должно быть хорошо.