Question

For a few months, our application has been getting bad reviews due to a complaint from users that the main portion of our application cannot be interacted with. Our app uses the support libraries and has an action bar. According to these users, the action bar is the only part of the app that responds to user touch. Everything below the action bar (except for the android home, back etc. buttons) is unresponsive.

After a lot of trouble on our end trying to reproduce the issue, we finally found that installing the app Lux causes this behavior. When Lux is installed, the only thing that responds to user touch is the action bar.

Looking at Lux's permissions, I see this:

Other Application UI
draw over other apps

Which, after looking it up, corresponds to this android permission:

android.permission.SYSTEM_ALERT_WINDOW

Users have already confirmed that the Lux application is what is causing the issue.

My question is, how can this be fixed without telling the users to uninstall Lux? Is this an android bug, or ours? Is there something that we could be doing that renders our app unresponsive, but not others?

My next step I guess would be to send an email over to the Lux team to see if they know what could be causing this (alongside our own investigation). My instinct is to also email the Android team, because in my opinion no outside application should be able to affect the behavior of another so dramatically.

Was it helpful?

Solution

Are you by any chance using a view with the android:filterTouchesWhenObscured property? When set to true, I believe this could be causing your issue.

For example, in the XML, it would look like:

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

Remove the filterTouchesWhenObscured line and it should be fine.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top