Android Live墙纸触摸事件层次结构

Android Live墙纸触摸事件层次结构,android,touch,live-wallpaper,Android,Touch,Live Wallpaper,我有一个活生生的墙纸,它使用各种触摸屏来触发某些事件。目前它正在工作,但我似乎得到了所有的接触事件。例如,当用户触摸一个图标启动一个应用程序时,我似乎也看到了这个事件 是否可以确定用户是否触摸了背景屏幕,即图标之间的间隙。因此,我只能在当时采取行动,而忽略其他人 如果失败,并假设(可能是错误的)如果我是队列中的第一个,那么屏幕上没有其他应用程序在我上面,我可以确定我在触摸事件队列中的位置,以便我只能在队列中的第一个时采取行动吗? 或任何其他建议。 谢谢 Richard遇到了同样的问题,最后查看了

我有一个活生生的墙纸,它使用各种触摸屏来触发某些事件。目前它正在工作,但我似乎得到了所有的接触事件。例如,当用户触摸一个图标启动一个应用程序时,我似乎也看到了这个事件

是否可以确定用户是否触摸了背景屏幕,即图标之间的间隙。因此,我只能在当时采取行动,而忽略其他人

如果失败,并假设(可能是错误的)如果我是队列中的第一个,那么屏幕上没有其他应用程序在我上面,我可以确定我在触摸事件队列中的位置,以便我只能在队列中的第一个时采取行动吗? 或任何其他建议。 谢谢
Richard遇到了同样的问题,最后查看了Nexus墙纸的源代码,看看它是如何在那里实现的

我认为无法确定实际的主屏幕是否消耗了触摸屏。但是,当你点击空白区域时,默认的Android主屏幕会向壁纸发送命令。因此,在引擎中,您可以编写:

@Override
public Bundle onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested) {
    if (action.equals(WallpaperManager.COMMAND_TAP)) {
        // do whatever you would have done on ACTION_UP
    }
    return null;
}

完美:-完全符合我的要求-谢谢-你能告诉我你在哪里找到Nexus代码吗请-Richard谢谢-我会开始自我教育:这对三星Galaxy S II不起作用-墙纸仍然收到活动。在其他设备上工作正常。