0

我正在尝试编写一个由系统脚本启动的 Android 应用程序。应用程序应该提示输入文本并将其输出到标准输出,以便脚本可以使用它。编辑: 在这里澄清一些事情:脚本由encfs --extpass 选项启动。

我知道android应用程序如何写入控制台:System.console().printf("text");

我知道如何从脚本启动活动:am start -n com.pkg.App/.MyActivity

我不知道如何实际使应用程序以这种方式启动以实际将任何内容输出到启动它的控制台。应用程序似乎在做它的事情,并且没有任何东西返回到控制台。

也许我错误地处理了整个问题,并且有一种更简单的方法来提示脚本中的文本?

4

2 回答 2

1

为什么不编写一个托管整个序列的 android 应用程序呢?android 可以使用Runtime类来启动脚本或本机命令行应用程序。它可以向它们传递参数并捕获输出并将其传递给其他脚本等。

  1. 启动您的应用程序,并收集用户输入
  2. 启动系统脚本,并将步骤 1 中收集的参数传递给它

如果这不起作用,例如,因为您无法控制何时需要调用 encfs,另一个想法是按照您的建议从系统脚本启动 android 应用程序,并将输出写入完成后归档。系统脚本需要监视文件是否存在,否则它不会知道输入何时准备好。离开System.console()它。

于 2012-09-24T16:00:45.537 回答
0

您可以通过API 级别 >= 9 访问控制台System.console()。NDK 还应该允许写入控制台。

于 2012-09-22T07:05:22.987 回答