来自Android服务的Incjet触摸事件

时间:2012-03-20 15:52:58

标签: android service touch

我有一个大学项目,到目前为止找不到答案。我有一个小的应用程序,无论它做什么,它有几个按钮例如。 我需要做的是使用服务器进行简单的服务,获取两个坐标并在我的应用程序中的坐标上注入触摸事件。

我可以轻松地在活动中模拟(注入)触摸事件:

            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。任何想法如何做到这一点?

1 个答案:

答案 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,它会对此广播事件做出反应并发送您的活动。

请检查:BroadcastReceiver