长按Android里面的应用程序

时间:2017-10-23 10:20:14

标签: android adb

我正在尝试使用ADB在Android设备上模拟长按。

我阅读了本指南:http://ktnr74.blogspot.it/2013/06/emulating-touchscreen-interaction-with.html

我知道它适用于Android的UI,但它在应用程序中不起作用。

特别是,我正在尝试在应用程序的文本字段上模拟长按。

1 个答案:

答案 0 :(得分:-1)

编辑:首先,你需要root用户。要在运行时请求root:

public static Process requestPermission() {
    try {
        return Runtime.getRuntime().exec("su");
    } catch (IOException e) {
        LOGGER.error("The phone needs root: ", e.getMessage());
        return null;
    }
}

然后:

Process process = SystemUtils.requestPermission();
DataOutputStream os = new DataOutputStream(process.getOutputStream());

cmd = "/system/bin/input swipe 100 1650 600 1650\n"; //Example

os.writeBytes(cmd);
os.writeBytes("exit\n");
os.flush();
os.close();
process.waitFor();

命令和默认来源是:

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)

你可以找到&#34; adb shell keyevent&#34;命令here