Search code examples
javaandroidruntime

Android: Runtime.getRuntime().exec(String) command is too slow? or I am doing something wrong?


I am trying to create an app which I use it for remote control an android device(TV). Actually I did it however when I click a button on the controller device(mobile), it takes apprx. 1 sec to do the work in the device(TV) that I want to control.

When I checked all logs in the code and I see that method spends that much time...

    String commandStr;
    commandStr = String.format("%s"," input keyevent "+keyCode);

    try {
        process = runTimeExec(commandStr);
        runTimeExec(commandStr);
    } catch (IOException e) {
    }

And the runTimeExec defined as;

    public static Process runTimeExec(String commandStr) throws IOException {  
           Runtime.getRuntime().exec(commandString);

    }

I just wanna learn if there is any other solution to run command immediately on the TV device itself? Or how can I make faster this code here?


Solution

  • I've used the getevent/sendevent code for this purpose. Its very fast and works immediately on the TV device. Just try it. You can find detailed documentations in https://source.android.com