Вот ответ на аналогичный вопрос Получить координаты сенсорного экрана в фоновом сервисе :
Нет, извините. Ваша деятельность может передавать информацию о сенсорных событиях
услуга, но служба не может напрямую получать сенсорные события
Но вы можете получать сенсорные события только при активном действии.
Вот как вы должны выполнять прослушивание касанием в упражнении:
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 того места, где произошло касание.