Android 獲取屏幕事件的座標

一般狀況下咱們只能獲取當前Activity的畫面座標,那有時候咱們須要作到一種相似於c++ hook的後臺運行程序可以監聽到前臺用戶的操做並記錄下來,每每這類程序都是爲自動化測試服務的。html

Android系統 getevent 方法:android

getevent 監控當前的事件,鼠標事件,按鍵事件,拖動滑動等c++

你們能夠先經過 getevent -p 命令查看當前哪一個設備是Touchscreen,咱們經過監聽Touchscreen設備的輸出能夠獲得相應的x,y座標值。shell

  --  監聽event1

找到您的屏幕設備中0035和0036的含義,個人手機中能夠看到x的值min爲0,max爲1172,y的值min爲0,
max爲1900。

sendevent 方法
adb shell sendevent [device] [type] [code] [value]
getevent /dev/input/event1

發送時間,格式和上面的同樣,須要注意的是在get中code顯示的是十六進制,而send中須要用十進制,例如測試

# sendevent /dev/input/event0 1 5 1
這個命令就是發送數字4的keydown消息,因此在屏幕上就會一直打印出不少個4(由於沒有發送keyup)code

詳細能夠參考Google官方文檔:htm

http://source.android.com/tech/input/getevent.html事件

相關文章
相關標籤/搜索