2015-11-21 57 views
0

我試過示例代碼:如何使用android中的按鍵事件自動生成觸摸事件?

進程p = Runtime.getRuntime()。exec(「ls」); p.waitFor();

我希望應用程序在屏幕上生成觸摸事件。我必須使用什麼命令來代替「ls」?

在此先感謝。

+0

這將是不可能的,除非是已解鎖裝置。 – CommonsWare

+0

我只在根設備上嘗試它。那麼,你能幫我解決嗎? 謝謝 –

回答

0

這整個答案假定您在根設備上運行應用程序並給予必要的權限。

這很大程度上取決於您打算使用哪些命令。有一個「輸入」的可執行文件,可以命令並執行一些輸入: 使用ADB(Android設備橋),可以發出: adb shell input看看:

用法:輸入[] [...]

的來源是:

trackball 
    joystick 
    touchnavigation 
    mouse 
    keyboard 
    gamepad 
    touchpad 
    dpad 
    stylus 
    touchscreen 

命令和默認來源是:

text <string> (Default: touchscreen) 
    keyevent [--longpress] <key code number or name> ... (Default: keyboard) 
    tap <x> <y> (Default: touchscreen) 
    swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen) 
    press (Default: trackball) 
    roll <dx> <dy> (Default: trackball) 

基本上,你可以發出「觸摸屏」,如刷卡,水龍頭等。甚至在設備上的「按鈕」,如音量向上,向下,電力,「家」, 「後退」等...... 例子:

input tap 410 200input swipe 410 330 410 600input keyevent KEY_POWER