1. 程式人生 > >Android備忘錄(一)

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