2015-09-22 59 views
1

我试图设置一个动态壁纸,其中一个功能是当用户点击屏幕时,他们将被带到一个特定的链接,我注意到墙纸服务引擎的onCommand方法被调用当我点击屏幕上的应用程序图标。有什么办法可以纠正这个?Android壁纸onCommand打开应用程序

@Override 
    public Bundle onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested) { 
     if (action.equals(WallpaperManager.COMMAND_TAP)) { 
      Uri uri = Uri.parse("blalbla"); 
      try { 
       Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
       intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       startActivity(intent); 
      } catch (Exception e) { 
       Log.i("Wopps","i do"); 
      } 
     } 
     return super.onCommand(action, x, y, z, extras, false); 
    } 
+0

这仍是一个问题,它应该只发送空空间水龙头COMMAND_TAP。我在Android跟踪器上记录了问题:https://issuetracker.google.com/issues/68467342 – Flyview

回答

0

所以双击解决了这个问题:)......按需是错误的计算策略

gestureDetector = new GestureDetector(getApplicationContext(), new GestureDetector.SimpleOnGestureListener() { 
     @Override 
     public boolean onDoubleTap(MotionEvent event) { 
      Uri uri = Uri.parse(uri); 
      try { 
       Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
       intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       startActivity(intent); 
      } catch (Exception e) { 
       Log.i("Double tap ", "went wrong"); 
      } 
      return true; 
     } 
    });