我正在尝试对用户轻扫的应用程序(例如,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坐标。