Android 如何避免实时墙纸对棒棒糖上最近任务的触摸事件做出响应 背景

Android 如何避免实时墙纸对棒棒糖上最近任务的触摸事件做出响应 背景,android,android-5.0-lollipop,touch-event,live-wallpaper,android-recents,Android,Android 5.0 Lollipop,Touch Event,Live Wallpaper,Android Recents,我制作了一张可以处理触摸事件的实时壁纸 问题 有些情况下,我不希望它处理触摸(或收听其他事件)。这有助于防止奇怪的绘图,也节省了一点电池 例如,在棒棒糖上,我注意到当你显示“最近的任务”屏幕时,实时壁纸仍然有焦点。这并没有发生在棒棒糖前,因为最近的任务屏幕占据了屏幕上的一切 另一个例子是墙纸选择器,即使您只显示所有实时墙纸的缩略图,您仍然会显示自己的并处理触摸事件,就像用户在启动器上一样 但是,当您显示通知栏或启动程序的菜单时(通过按下菜单按钮),实时墙纸将不会获得任何触摸事件 您可以在其他实时

我制作了一张可以处理触摸事件的实时壁纸

问题 有些情况下,我不希望它处理触摸(或收听其他事件)。这有助于防止奇怪的绘图,也节省了一点电池

例如,在棒棒糖上,我注意到当你显示“最近的任务”屏幕时,实时壁纸仍然有焦点。这并没有发生在棒棒糖前,因为最近的任务屏幕占据了屏幕上的一切

另一个例子是墙纸选择器,即使您只显示所有实时墙纸的缩略图,您仍然会显示自己的并处理触摸事件,就像用户在启动器上一样

但是,当您显示通知栏或启动程序的菜单时(通过按下菜单按钮),实时墙纸将不会获得任何触摸事件

您可以在其他实时壁纸上看到这些问题,例如“无魔术液体”

同样,问题是在某些情况下,无法禁用触摸事件,因为您无法知道它们何时发生(最近的任务和墙纸选择器就是这样的例子)

我试过的 没什么可做的。Engine类的所有方法都未能找到我所写的场景IOS的状态:

OnOffsetChanged、onVisibilityChanged、onSurfaceChanged、OnSurfaceRedrawRequired、OnOffsetChanged

问题 有没有办法克服这个问题? 如果实时墙纸未聚焦,要停止收听活动?

设置如何

    setTouchEventsEnabled(false);

在您的服务引擎类中,当您不希望触摸屏被处理时,请将其设置为true。

当然,但问题不在于此。问题是我没有看到棒棒糖事件显示最近的任务,所以我不知道何时禁用和何时启用…:(我对问题进行了编辑,以进一步澄清。顺便说一句,如果我愿意,我可以忽略触摸事件,而不是使用“setTouchEventsEnabled(false)”。同样,问题是我不知道如何获取何时执行该操作。对于这些场景,我没有找到任何触发器。