private void sendCommand(String cmd) {
Process process = null;
try {
process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes(cmd);
os.writeBytes("exit\n");
os.flush();
os.close();
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
String cmd = "/system/bin/input tap 244 580\n";
sendCommand(cmd);
Log.d("Tap","first");
sendCommand(cmd);
Log.d("Tap","second");
09-06 01: 09: 43,878 13600-13600 / com.example.na D / Tap: первый
09-06 01: 09: 46,178 13600-13600 / com.example.na D / Tap: второй
Это действительно очень медленно, я хотел имитировать, как двойной сигнал с задержкой около 200 мс между двумя нажатиями. но самое быстрое это может сделать 3 секунды ..... Пожалуйста, совет.
Обновление - Попробовал, все же задержка между каждым касанием есть, хотя и быстрее.
process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
cmd = "/system/bin/input tap 244 580\n";
os.writeBytes(cmd);
cmd = "/system/bin/input tap 244 580\n";
os.writeBytes(cmd);
os.writeBytes("exit\n");
os.flush();
os.close();
process.waitFor();