我正在尝试对用户轻扫的应用程序(例如,swipepad,taskxp和taskie)做一些有趣的事情
或触摸电话屏幕的某个区域(如边缘),即使未显示其活动,程序也将起作用。

我不知道从哪里开始,因为我什至不知道它叫什么

任何帮助将非常感激!

最佳答案

以下是类似问题Get co-ordinates touch screen in a background service的答案:


  不,对不起您的活动可以将有关触摸事件的信息传递给
  服务,但服务无法直接接收触摸事件


但是您只能在活动运行时接收触摸事件。

这是您在活动中执行触摸监听器的方法:

ImageView playLayout = (ImageView)findViewById(R.id.playLayout);
    playLayout.setKeepScreenOn(true);

    playLayout.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View view, MotionEvent me) {
            float newY = me.getY();
            float newX = me.getX();
            int action = me.getAction();

            if (action==0){
                Log.v(tag, "New Touch");
                Log.i(tag, String.valueOf("Action " + action +
                        " happened at X,Y: " + "("+newX+","+newY + ")"));
            }
            return true;
        }
    });


当然,您可以添加更多。在那里,我只是记录触摸发生位置的x和y坐标。

10-07 19:35
查看更多