Intereting Posts
Как получить файл * .apk на Android-устройстве Повторно использовать предыдущие действия? Создайте код скидки для моего собственного приложения в магазине google play Android, окно Logcat исчезло Android – настройка позиции изображения в верхней части масштабируемого изображения GridView С помощью Custom ArrayAdapter Именование идентификатора в приложениях для Android Как реализовать Beluga или WhatsApp как систему обмена сообщениями в Android 2.1 Устройства Android, не имеющие JIT Как увидеть предупреждения Gradle на Android Studio? Хранить AsyncTask во время вращения, но не удалять активность Почему андроид дает предупреждение об использовании размера меньше 12sp? Есть ли способ определить, поддерживает ли Android-телефон интеграцию с Voicemail в журнале вызовов? Как элементы GridLayout поступают из адаптера (списка / изображения) в Android-приложении Android: читать настройки, установленные в аутентификаторе xml

Разрешение 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, и все должно быть хорошо.