2011-08-30 156 views
3

當你要處理在你的生活壁紙點擊一下,你應該使用按需,等待行動WallpaperManager.COMMAND_TAP。這例如描述於在討論主題:Android Live Wallpaper Touch Event HierarchyAndroid動態壁紙點按事件

這可以在我的手機上正常工作,但是當我將壁紙部署到平板電腦(在我的情況下,使用android 3.1的摩托羅拉xoom)COMMAND_TAP也會在主屏幕上的圖標被按下時觸發。

我通過存儲可見狀態和1000ms的延遲按需處理增加了一個解決辦法,但我想這個問題的真正解決。

+0

我在三星Galaxy S II上也看到了這一點,但在大多數其他手機上都沒有。它也發生在按下小部件時。你能提供你的解決方法的細節嗎? –

+0

這對於Android 8.0還是個問題? Nexus 5x庫存工廠圖像。 – Flyview

+0

我在Android問題跟蹤器上報告了它:https://issuetracker.google.com/issues/68467342 – Flyview

回答

0

我們遇到與三星手機,只對Droid的收費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); 
    } 
}