1

我有一种情况,我已经工作了将近一周,但无法提出可行的解决方案。

我有一个应用程序,它将启动一个终端窗口并运行一个命令,使用的终端是 Jack Palevich 的 Android-Terminal-Emulator (源代码here),用于启动窗口的代码是:

public boolean runCommand(String command) {
        Intent intent = new Intent("jackpal.androidterm.RUN_SCRIPT");
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.putExtra("jackpal.androidterm.iInitialCommand", command);
    if (mHandle != null) {
        // Identify the targeted window by its handle
        intent.putExtra("jackpal.androidterm.window_handle", mHandle);
    }

    startActivityForResult(intent, REQUEST_WINDOW_HANDLE);

    return true;
}

现在这工作正常,但问题是在应用程序生命周期中有很多次需要将命令传递到此终端窗口,并且没有用户将与设备交互(即它需要自动化)。

当您启动终端窗口时,该窗口将成为视图中的活动,因此当我的应用程序仍在后台运行时,任何未来的调用runCommand()都不会发生,直到我的应用程序返回查看。

runCommand()所以我需要找到一种方法,让我的应用程序在调用并启动终端后再次成为视图中的应用程序。我已经尝试了许多路线,但没有真正成功,我想唯一真正的前进方式是对终端应用程序本身进行更改,我很乐意这样做(我已经下载并测试了源代码)但我只是一个几乎不知道在哪里看和改变什么。

如果您需要有关我的应用程序或其他任何信息的更多信息,请告诉我!

谢谢

4

0 回答 0