如何忽略触摸事件并让 android 系统处理它?

How to ignore touch event and let android system handle it?

我有一项服务可以在系统上绘制覆盖视图。它是一个实用程序栏。当用户点击它时,它就会出现。我的问题是我不希望它在用户点击时显示,而是在用户滑动时显示。我有一个逻辑可以使用 onTouchListener 区分点击和 drag/swipe。

问题是:当用户点击它时,我想忽略触摸并让 android 系统消耗它。当用户滑动时,我想消费事件并且不让android消费它,因为我会让我的工具栏显示出来。

如何实现?我在 API 25(android N).

简单的回答:你不能。

一旦覆盖视图接收到触摸事件,它就被认为已被消耗并且永远不会进一步传播。

这主要是一种安全措施,因为您可以记录和取消 X、Y 坐标,这将允许执行键盘记录器或其他点击 blocking/spoofing 代码。