Медленное выполнение функции - DataOutPutStream
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();