我正在尝试为swipepad,taskxp和taskie之类的应用做些什么,用户刷卡 或触摸手机屏幕的一个区域,如边缘和程序功能,即使其活动未显示。
我不知道从哪里开始,因为我甚至不知道它叫什么
非常感谢任何帮助!
答案 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坐标。