Android備忘錄(一)

1.獲取和設置屏幕的點擊事件

input text 1234  向界面注入1234文字,有輸入框,可以明顯看到效果
input keyevent 4  向屏幕發送鍵盤事件,4是返回
input tap 100 300 單機觸屏事件,模擬點擊x=100,y=300位置
input swipe 100 300 500 300 觸屏滑動事件,模擬滑動,從x=100 y=300滑動到x=500 y=300的位置
input press 模擬按下軌跡球(暫不清楚這個軌跡球是什麼東東)
input roll 100 300 模擬軌跡球滑動x方向100 y方向300

另外,系統也提供獲取當前點擊位置的方法,不需要再打開開發者模式,去界面上看
一般,可以用過adb shell getevent -p獲取出所有的當前的默認參數
如果獲取當前屏幕配置的寬高,可以用 adb shell getevent -p|grep -e 0035 -e 0036
第一步,獲取當前event體系裏面的寬(0035,軸向像素大小)和高(0036,縱向像素大小)

比如輸出:
0035  : value 0, min 0, max 1080, fuzz 0, flat 0, resolution 0
0036  : value 0, min 0, max 2280, fuzz 0, flat 0, resolution 0
0035  : value 0, min 0, max 1080, fuzz 0, flat 0, resolution 0
0036  : value 0, min 0, max 2280, fuzz 0, flat 0, resolution 0
表示寬是1080,高是2280(這是19:9的屏)

這個值可能跟當前手機設置的分辨率不一致,所以後面計算當前觸摸點的位置時可能要加上這個比例

第二步,點擊屏幕,可以獲取當前屏幕的點擊座標
adb shell getevent |grep -e 0035 -e 0036

比如可能會有如下輸出:
/dev/input/event0: 0003 0035 00000341 
/dev/input/event0: 0003 0036 000008e0
這裏的輸出都是16進制的,轉化爲十進制就是我們當前的點擊位置。
當然如果第一步獲取出來與實際寬高一致,那這個值就是當前的點擊位置,否則需要乘上一定ratio
最終,算出來我們的點擊位置時(833, 2272)

 

關於當前屏幕的點擊事件的頭文件在:

frameworks\native\include\android\input.h

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章