2012-03-20 27 views
0

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

我可以模拟活动(注)的触摸事件很容易:

  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

从服务发送广播。 例如

Intent data = new Intent(ACTION); 
data.putExtra("action", DISPATCH_MOTION_EVENT); 
data.putExtra("x", [... from server ...]); 
data.putExtra("y", [... from server ...]); 
sendBroadcast(data); 

在您的活动中,您注册了一个新的Receiver,该Receiver对此广播事件作出反应并分派您的活动。

选中此项:BroadcastReceiver

+0

这正是我所需要的。我会检查broadcastReceiver文章并尝试它。谢谢 :) ! – user1281254 2012-03-20 16:28:24