色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Android開發中如何模擬輸入

瀏覽:7日期:2022-09-20 15:27:49

主要思路是使用 adb shell input指令來模擬按鍵及觸摸輸入。

但是前提是需要root,且華為手機出于安全考慮已經停止了root解碼。所以測試建議換個別的手機。或是直接用AS中的模擬器,用有Google Apis的版本。

input 指令

我們打開adb,進入shell,輸入input可以看到指令的參數說明。

Android開發中如何模擬輸入

其中source一般都是用的默認值可以忽略,我們主要關注的就是后面的command

text:文本輸入;keyevent:鍵盤按鍵;這兩條指令是所有設備通用的。 tap:點擊屏幕;swipe:滑動屏幕;這兩條指令適用于有觸摸屏的設備。 press,roll適用于有觸摸球的設備。模擬輸入

在使用input指令之前我們要先獲取一下root權限。

private void execShellCmd(String cmd) { try { Process process = Runtime.getRuntime().exec('su'); OutputStream outputStream = process.getOutputStream(); DataOutputStream dataOutputStream = new DataOutputStream( outputStream); dataOutputStream.writeBytes(cmd); dataOutputStream.flush(); dataOutputStream.close(); outputStream.close(); } catch (Throwable t) { t.printStackTrace(); } }text

1.輸入之前需要提前獲取焦點。2.輸入有特殊含義的特殊字符,無法直接輸入 需要使用keyevent 如: ’ ’

我們整一個EditText,然后進行text輸入測試。

execShellCmd('input text ’hello,world’');

我們發現少了一個H,在控制臺可以看到日志。

Android開發中如何模擬輸入

可以看到在按下H的時候,EditText沒有獲取到焦點。

Android開發中如何模擬輸入

可能是頁面初始化以后就開始執行輸入操作,此時editText還沒有獲取到焦點,獲取焦點可能存在點延時。所以我們嘗試延遲1s后進行輸入。

private Handler handler = new Handler();private Runnable task = new Runnable() { public void run() { execShellCmd('input text ’hello,world’'); }};// 延遲1s后輸入handler.postDelayed(task,1000);

Android開發中如何模擬輸入

keyevent

execShellCmd('input text ’hello,world’ n input keyevent 68 n input keyevent 21');

輸入hello,world,然后輸入’,然后左移光標

Android開發中如何模擬輸入

常見的keycode可以參見frameworks/base/core/java/android/view/KeyEvent.java

Android開發中如何模擬輸入

tap

android 中坐標系如下圖所示。

Android開發中如何模擬輸入

我們可以打開手機中的 開發者選項 -> 指針位置 來輔助定位,可以再上方看到x,y相對的偏移量。

Android開發中如何模擬輸入

點擊屏幕(100,200)位置。

execShellCmd('input tap 100 200');swipe

滑動屏幕和tap相似只需要傳入兩個坐標即可。后面也可以設置滑動時間(ms),時間越短滑動的相應距離就會越長。

從屏幕(100,200)滑動到(300,400)。

execShellCmd('input swipe 100 200 300 400');

以上就是Android開發中如何模擬輸入的詳細內容,更多關于Android 模擬輸入的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 久久国产精品久久 | 欧美视频一区二区三区 | 亚洲性综合 | 亚洲视频一区在线 | 国产步兵社区视频在线观看 | 久久99爰这里有精品国产 | 96精品视频在线播放免费观看 | 亚洲影院在线 | 成人在线免费 | 日韩一级片免费在线观看 | 毛片com | 亚洲欧美在线视频免费 | 日本人一级毛片视频 | 国产 日韩 欧美 在线 | 国产日韩不卡免费精品视频 | 日韩一级片在线免费观看 | 欧美一级毛片特黄大 | 欧美黄视频网站 | 九九久久精品这里久久网 | 男人女人真曰批视频播放 | 免费一级特黄特色黄大任片 | bt天堂国产亚洲欧美在线 | 午夜在线亚洲男人午在线 | 久久中文亚洲国产 | 亚洲精品高清在线 | 久久网站免费 | 91精品国产福利尤物免费 | 欧美日韩在线国产 | 日本理论在线播放 | 日本特黄特色大片免费看 | 久久久婷 | 国产成人在线综合 | 亚洲欧美激情精品一区二区 | 国产成人免费影片在线观看 | 成人区精品一区二区不卡亚洲 | 国产一级爱 | 国产成人咱精品视频免费网站 | 欧美成人免费高清网站 | 亚洲一区 中文字幕 久久 | 久久精品成人免费网站 | 美女视频黄a视频美女大全 美女视频黄a视频免费全程 |