ANDROID:如何在用户可以按下以执行操作的所有内容的屏幕上创建虚拟区域?

时间:2011-09-01 20:52:28

标签: android touch screen detect

我正在尝试为swipepad,taskxp和taskie之类的应用做些什么,用户刷卡 或触摸手机屏幕的一个区域,如边缘和程序功能,即使其活动未显示。

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

以下是类似问题的答案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坐标。