【问题标题】:Is it possible to start activity through adb shell and receive its response? [duplicate]是否可以通过 adb shell 启动活动并接收其响应? [复制]
【发布时间】:2016-08-14 13:56:53
【问题描述】:

我知道您可以通过adb 使用以下命令从任何应用启动任何导出的活动

am start -n com.myapp.test/.TestActivity

使用"am start" 命令还可以向活动发送额外数据(我知道怎么做,这不是我要问的问题!)。

但是我需要知道的是,当它完成时是否也可以接收从启动的活动发回的响应数据?

【问题讨论】:

    标签: android shell android-activity activity-manager


    【解决方案1】:

    更新 您可以将结果打印到 logcat。 只需从-W 开始,等待启动完成

    然后做一个logcat -d

    OP 已经了解以下内容。我误读了这个问题,以防万一其他人来到这里

    向活动发送数据
    意图规范请参考here

    你可以传入键值对。

    引用规范
    -e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> 可用于传递键字符串值对。 还有其他选项可以传入不同类型的数据

    【讨论】:

    • 这不是问题,只是陈述。我知道该怎么做。
    • @Robert:我的坏人,我读的是“是它”而不是“它是”。诚实的错误:D
    • @Robert:请检查更新。
    • 好主意。我用一个自写的测试应用程序对其进行了测试。不幸的是,它不起作用,因为-W只等到新活动开始(未结束)。因此,当活动结束时(通过单击按钮),amprocess 早已不复存在。同样在 logcat 中,我看不到活动结果(除非我在我的测试应用程序中打印出来)。
    • @Robert: mmm .. 是的,您需要明确打印出来以记录并从那里解析出来。其次,我认为活动将继续写入 logcat。它只是您需要检查活动何时完成。您可以执行以下操作:在脚本中,使用 am start 启动活动。在您的活动中,在onDestroy 输出中记录例如finished,然后在开始和此字符串之间获取日志并解析结果。来源:stackoverflow.com/questions/14715560/…
    【解决方案2】:

    迂回解决方案:

    1、编写一个可以接收intent parameters的tool-apk,并将这个参数用到startActivityForResult。当得到结果时,记录它或将它写入某个文件。

    2、使用adb启动这个工具-apk使用任何你想要的intent parameters,然后定期检查logcat或者文件来得到结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多