2011-09-13 25 views
0

我試圖在遠程電話上執行MotionEvent。在手機上獲得 使用TouchEvent和現在發送至手機B. 這是工作,但有問題的調度是MotionEvent在電話B.在應用程序外調度TouchEvents

這裏是派遣MotionEvent的例子,但只對自己的一次查看(這裏是電話A):

   long downTime = SystemClock.uptimeMillis(); 
       long eventTime = SystemClock.uptimeMillis(); 

       MotionEvent event1 = MotionEvent.obtain(downTime, eventTime, 
       MotionEvent.ACTION_DOWN, 100,100, 0); 

       MotionEvent event2 = MotionEvent.obtain(downTime, eventTime, 
       MotionEvent.ACTION_UP, 100, 100, 0); 

       dispatchTouchEvent(event1); 
       dispatchTouchEvent(event2); 

當我不是我自己的視圖時,我該如何在電話B上發送TouchEvent? Thx

+0

不知道如何做到這一點。如果有解決方案,請發佈解決方案。如果任意發送觸摸事件會很好...想象一切你可以做的事情!更改用戶密碼,刪除其文件,打開電話,驅動用戶堅果等。 – Cristian

回答

0

當我不是我自己的視圖時,我是如何在電話B上發送TouchEvent?

幸運的是,這是不可能的,因爲明顯的安全原因。一個應用程序不能將事件注入到另一個應用程序中,而不是單元測試(這反過來強加了它自己的一組限制)。

+0

似乎可以看到「PicMe」或「Droid VNC服務器」。在這兩個應用程序中,您都可以遠程執行TouchEvents。 – Ivo

+0

我找到了一種可以管理TouchEvents的方法。 http://softteco.blogspot.com/2011/03/android-writing-events-low-level-touch.html – Ivo

+0

@Ivo:正如帖子指出的,這不適用於Android 2.2以上版本,因爲它們關閉這個安全漏洞。 – CommonsWare