SYSTEM_ALERT_WINDOW permiso de Lux hace que partes de nuestra aplicación no funcionen

Durante algunos meses, nuestra aplicación ha recibido críticas negativas debido a una queja de los usuarios de que la parte principal de nuestra aplicación no puede ser interactuada. Nuestra aplicación utiliza las bibliotecas de soporte y tiene una barra de acción. Según estos usuarios, la barra de acción es la única parte de la aplicación que responde al toque del usuario. Todo lo que está por debajo de la barra de acción (excepto para el hogar de Android, botones de regreso etc.) no responde.

Después de un montón de problemas en nuestro final tratando de reproducir el problema, finalmente encontramos que la instalación de la aplicación Lux causas de este comportamiento. Cuando Lux está instalado, lo único que responde al toque del usuario es la barra de acción.

Mirando los permisos de Lux, veo esto:

Otra interfaz de usuario de aplicación
Atraer sobre otras aplicaciones

Que, después de buscarlo, corresponde a este permiso de Android:

android.permission.SYSTEM_ALERT_WINDOW 

Los usuarios ya han confirmado que la aplicación Lux es lo que está causando el problema.

Mi pregunta es, ¿cómo se puede arreglar esto sin decirle a los usuarios que desinstalen Lux? ¿Se trata de un error android, o el nuestro? ¿Hay algo que podríamos estar haciendo que haga que nuestra aplicación no responda, pero no otros?

Mi próximo paso supongo que sería enviar un correo electrónico al equipo Lux para ver si saben lo que podría estar causando esto (junto con nuestra propia investigación). Mi instinto es también enviar por correo electrónico al equipo de Android, porque en mi opinión ninguna aplicación externa debe ser capaz de afectar el comportamiento de otro tan dramáticamente.

¿Está usted por casualidad usando una vista con la propiedad android:filterTouchesWhenObscured ? Cuando se establece en true, creo que esto podría estar causando su problema.

Por ejemplo, en el XML, se vería así:

 <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"/> 

Quite la línea filterTouchesWhenObscured y debería estar bien.

  • NavigationDrawer utilizando sólo la biblioteca de asistencia de Android
  • Configuración del fondo de Android y la barra de menús de persistencia - El uso de atributos en las versiones anteriores causa un fallo - ¿Existe un enfoque de tema / patrón?
  • ¿Cómo puedo mostrar un Diálogo de un PreferenceFragment?
  • Cómo utilizar la biblioteca de soporte de Android correctamente
  • Android IntentCompat makeRestartActivity no hace nada en 2.3
  • CoordinatorLayout reemplazando Fragments
  • Error de tema de diseño de material
  • Mientras uso la biblioteca de soporte técnico estoy recibiendo un error que el atributo "" ya ha sido definido en android
  • Obtener posición del artículo desde el adaptador personalizado
  • Parte del fragmento dentro de ViewPager se corta en la parte inferior de la pantalla (Android)
  • Fragmentos de Android - findFragmentByTag devuelve siempre null
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.