Lux的SYSTEM_ALERT_WINDOW权限使我们的部分应用程序无法运行

时间:2014-03-18 23:23:29

标签: android android-support-library

几个月来,由于用户投诉我们的申请主要部分无法与之互动,我们的申请一直受到不好的评价。我们的应用程序使用支持库并有一个操作栏。根据这些用户,操作栏是应用程序响应用户触摸的唯一部分。操作栏下方的所有内容(除了安卓主页,后退等按钮)都没有响应。

在我们尝试重现问题后遇到很多麻烦后,我们终于发现安装应用Lux会导致此行为。安装Lux时,唯一能够响应用户触摸的是操作栏。

看看Lux的权限,我看到了:

  

其他应用程序用户界面
  借鉴其他应用

在查找之后,对应于此Android权限:

android.permission.SYSTEM_ALERT_WINDOW

用户已经确认Lux应用程序是造成问题的原因。

我的问题是,如何在不告诉用户卸载Lux的情况下解决这个问题?这是一个机器人的bug,还是我们的?我们可以做些什么让我们的应用程序没有响应,而不是其他人?

我的下一步我想发送一封电子邮件给Lux团队,看他们是否知道可能导致这种情况的原因(以及我们自己的调查)。我的直觉也是给Android团队发电子邮件,因为在我看来,外部应用程序不应该如此戏剧性地影响另一个应用程序的行为。

1 个答案:

答案 0 :(得分:6)

您是否有机会使用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行,它应该没问题。