Android(Linux)類比按鍵、觸控螢幕等事件

來源:互聯網
上載者:User

標籤:content   事件   str   資訊   圖片   3.1   實現   分享   net   

前提:

在我們應用程式或者在寫Android自己主動化測試時候經常會須要類比實體按鍵,來給我們做測試用。這也是我要整理的目的。

基本的涉及的是Linux Input Event事件。

下面的範例基於Android 5.1(Linux-3.10)。

一、利用getevent、sendevent類比按鍵

(1)命令:getevent -t
結果:

...add device 6: /dev/input/event9    bus:      0000    vendor    0000    product   0000    version   0000    name:     "msm8994-snd-card Button Jack"    location: "ALSA"    id:       ""    version:  1.0.1    events:      KEY (0001): 0100  0101  0102  0103  0104  0105  0106  0107     input props:      <none>  ... 

得知:我們所要的耳機按鍵的相應的input事件是event9。

(2)命令:getevent -t /dev/input/event9 (getevent -l /dev/input/event9會有更加具體資訊),使用按耳機按鍵預先擷取耳機事件資訊
結果:

按鍵按下:0001 00e2 000000010000 0000 00000000松下按鍵:0001 00e2 000000000000 0000 00000000

(3)使用sendevent命令類比觸發線控按鍵事件

sendevent /dev/input/event9 0001 00e2 00000001sendevent /dev/input/event9 0000 0000 00000000**這個之間要延時500ms~1s,不然會被系統誤覺得是誤觸發的**sendevent /dev/input/event9 0001 00e2 00000000sendevent /dev/input/event9 0000 0000 00000000

註:僅僅要是input的事件都是能夠用sendevent來類比。但有時候就力不從心了如類比觸控螢幕的滑動,假設用sendevent就須要大量的命令來類比。

這時能夠用input命令來取代。

二、利用input命令實現類比按鍵、觸控螢幕操作

(1)類比按鍵
命令:input keyevent {索引值}
已知Android手機音量+(KEYCODE_VOLUME_UP)的索引值是24,那使用
input keyevent 24就可類比按下音量+鍵。

很多其它的索引值見附件1。

(2)類比觸控螢幕操作(點按、滑動)
命令:input swipe {起始點x軸值} {起始點y軸值} {終點x軸值} {終點y軸值} {滑動時間[可忽略]}。時間單位:ms
比如:從x=100,y=500。滑到x=600,y=500。時間100ms
input swipe 100 500 600 500 100

命令:input tap {x軸值} {y軸值}
比如:點擊x=100,y=500這個點。類比點擊APP表徵圖開啟應用
input tap 100 500

附件1






Android(Linux)類比按鍵、觸控螢幕等事件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.