【发布时间】:2014-03-19 07:49:40
【问题描述】:
几个月来,由于用户抱怨我们的应用程序的主要部分无法交互,我们的应用程序一直受到差评。我们的应用程序使用支持库并有一个操作栏。根据这些用户的说法,操作栏是应用程序中唯一响应用户触摸的部分。操作栏下方的所有内容(除了 android home、back 等按钮)都没有响应。
在我们尝试重现该问题时遇到了很多麻烦后,我们终于发现安装应用程序Lux 会导致此行为。安装 Lux 后,唯一响应用户触摸的是操作栏。
查看 Lux 的权限,我看到了:
其他应用程序用户界面
覆盖其他应用
查了一下,对应这个android权限:
android.permission.SYSTEM_ALERT_WINDOW
用户已经确认 Lux 应用程序是导致问题的原因。
我的问题是,如何在不告诉用户卸载 Lux 的情况下解决这个问题?这是安卓的bug,还是我们的?我们可以做些什么来使我们的应用程序无响应,而其他应用程序则不会?
我想我的下一步是向 Lux 团队发送一封电子邮件,看看他们是否知道导致这种情况的原因(以及我们自己的调查)。我的直觉是也向 Android 团队发送电子邮件,因为在我看来,任何外部应用程序都不应该能够如此显着地影响另一个人的行为。
【问题讨论】:
-
出于好奇,什么没有发生?你没有收到触摸事件吗?
-
@GabeSechan,我刚刚在我们的活动中覆盖了
onTouchEvent(),我可以确认断点正在被击中(我们正在获取触摸事件,但它们并没有传播给孩子们意见)。我现在正在测试onInterceptTouchEvent的自定义视图对象。 -
你有没有确定 Lux 做了什么导致了这个?我已经测试了一些应用程序,其中大多数都可以正常工作。我发现的唯一破坏性应用是 Lux 和 GridWichterle (play.google.com/store/apps/…)。
标签: android android-support-library