我有一个大学项目,到目前为止找不到答案。我有一个小的应用程序,无论它做什么,它有几个按钮例如。 我需要做的是使用服务器进行简单的服务,获取两个坐标并在我的应用程序中的坐标上注入触摸事件。
我可以轻松地在活动中模拟(注入)触摸事件:
MotionEvent event1 = MotionEvent.obtain(1, 1, MotionEvent.ACTION_DOWN, 120,200, 0);
MotionEvent event2 = MotionEvent.obtain(1, 1, MotionEvent.ACTION_UP, 120,200, 0);
MainView.dispatchTouchEvent(event1);
MainView.dispatchTouchEvent(event2);
这很好用。现在,当坐标到达服务器时,我需要以某种方式将MainView发送到服务并在其上执行dispatchTouchEvent。任何想法如何做到这一点?
答案 0 :(得分:1)
从服务发送广播。 E.g。
Intent data = new Intent(ACTION);
data.putExtra("action", DISPATCH_MOTION_EVENT);
data.putExtra("x", [... from server ...]);
data.putExtra("y", [... from server ...]);
sendBroadcast(data);
在您的活动中,您注册了一个新的Receiver,它会对此广播事件做出反应并发送您的活动。