如果您想处理生活壁纸中的点击,您应该使用onCommand并等待动作WallpaperManager.COMMAND_TAP。例如,这描述了在讨论主题中:Android Live Wallpaper Touch Event Hierarchy。
这在我的手机上工作正常,但是当我将壁纸部署到平板电脑时(在我的情况下,使用android 3.1的motorola xoom)当按下主屏幕上的图标时,也会触发COMMAND_TAP。
我通过存储可见状态并将onCommand处理延迟了1000毫秒来添加了一种解决方法,但我想为这个问题提供一个真正的解决方案。
答案 0 :(得分:0)
我们在三星手机上遇到了同样的问题,只在Droid Charge SCH-I510和S2上验证过。 S3没有表现出这种行为。
以下是Gizmomogwai在代码中提到的解决方法。
public Bundle onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested) {
if (WallpaperManager.COMMAND_TAP.equals(action)) {
final CustomWallpaperEngine that = this;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
if(that.isVisible()) {
// valid tap command
// DO STUFF
} else {
// Invalid tap command, throw away
}
}
}, 1000);
}
}