Android 模擬鍵盤事件

開發(fā)中,遇到了需要模擬鍵盤事件的問(wèn)題。在這里做一個(gè)簡(jiǎn)單總結(jié)。
使用模擬鍵盤事件,需要知道對(duì)用按鍵的對(duì)照表。
參考這個(gè)博客

使用Instrumentation類操作

Instrumentation inst = new Instrumentation();
try {
    inst.sendKeyDownUpSync(66); // 這個(gè)66 映射碼 標(biāo)識(shí) 回車鍵。
} catch (Exception e) {
    Log.e("tag", "事件出現(xiàn)異常" + e.getMessage());
}
try {
    //這個(gè)事件代表  Shift +  tab  組合鍵。
    long downTime = SystemClock.uptimeMillis();
    long eventTime = downTime;
    inst.sendKeySync(new KeyEvent(downTime, eventTime, KeyEvent.ACTION_DOWN, 61, 0, KeyEvent.META_SHIFT_ON));
    inst.sendKeySync(new KeyEvent(downTime, eventTime, KeyEvent.ACTION_UP, 61, 0, KeyEvent.META_SHIFT_ON));
} catch (Exception e) {
    Log.e("tag", "事件出現(xiàn)異常" + e.getMessage());
}

還有一種方式

try 
{ 
    String keyCommand = "input keyevent " + keycode; 
    Runtime runtime = Runtime.getRuntime(); 
    Process proc = runtime.exec(keyCommand); 
} catch (IOException e) 
 { 
    e.printStackTrace(); 
 }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ??JavaScript 與 HTML 之間的交互是通過(guò)事件實(shí)現(xiàn)的。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,716評(píng)論 1 11
  • 本文轉(zhuǎn)自(原文太雜亂,這里調(diào)整了格式及內(nèi)容):http://enkichen.com/2018/09/12/osx...
    topws1閱讀 19,372評(píng)論 0 27
  • 標(biāo)簽(空格分隔): Android 單元測(cè)試的好處:Martin Fowler在《重構(gòu)》里面還解釋了為什么單元測(cè)試...
    背影殺手不太冷閱讀 6,063評(píng)論 3 25
  • (本文來(lái)自《Custom Keyboard》)自定義鍵盤為那些希望體驗(yàn)更新穎的輸入法或者需要用到iOS不支持的語(yǔ)言...
    RickMao閱讀 9,272評(píng)論 3 65
  • 下午時(shí)間不忙,一個(gè)人在展會(huì)逛了兩個(gè)小時(shí),要知道這個(gè)是全國(guó)頂尖的展會(huì),所有的企業(yè)都拿出自己最好的東西來(lái)展示給老外,讓...
    笑傲江湖201710閱讀 151評(píng)論 0 0

友情鏈接更多精彩內(nèi)容