【问题标题】:How to start android activity from eclipse with custom Intent如何使用自定义 Intent 从 Eclipse 启动 android 活动
【发布时间】:2014-07-04 07:59:31
【问题描述】:

出于多种测试目的,我想从 Eclipse 启动我的 android 活动,并使用有关意图的特定数据(例如,要加载的文件名等额外数据)。 我可以在菜单的哪个位置提供这个?

  • 在运行配置中,3 个选项卡中没有任何内容可以提供任何参数
  • 我可以更改资源文件中的一些参数,但我担心我可能会泄漏将进入最终应用程序的资源。
  • 可以在 adb:See here 中执行此操作,但目前无法与 Eclipse 中的 F11 启动命令关联,该命令可用于同时重新编译和重新启动。

【问题讨论】:

  • 你能详细说明你想要什么吗?
  • 我想没有视觉支持(向导)可以做到这一点。我现在也在找它,但我找不到。
  • 我只想按 F11 并查看我的应用程序在意图中使用特殊数据启动。因为我正在与其他人共享这个项目,所以我不想直接在项目本身中添加这些数据。
  • 明白了,所以我发现某些 Eclipse 向导无法做到这一点。你可以在你的Activity 内部模拟它,你可以通过getIntent() 获得IntentgetExtras() 的额外内容。
  • 目前@Aegis 的回答也是最好的。

标签: android eclipse android-intent adb


【解决方案1】:

如果您仍在使用 eclipse,您可能需要创建一个带有自定义任务的简单 ant 脚本来执行测试。 ADB shell 有一个启动活动的命令,您还可以在其中指定额外的

am [start|instrument]

am start [-a <action>] [-d ]
[-t <mime_type>] [-c <category> [-c <category>] ...]
[-e <extra_key> <extra_value>
[-e <extra_key> <extra_value> ...]
[-n <component>] [-D] [<uri>]

am instrument [-e <arg_name> <arg_value>] [-p <prof_file>] [-w] <component>

你会像这样传递它们:

am start -a android.intent.action.VIEW -c android.intent.category.DEFAULT -e foo bar -e bert ernie -n org.package.name/.MyCustomActivity

附:不要忘记活动前的点。

这可以被翻译成一个 ant 目标,你应该把它放在 ant 脚本中。

<target name="run">
    <exec executable="adb">
        <arg value="shell"/>
        <arg value="am"/>
        <arg value="start"/>
        <arg value="-a"/>
        <arg value="android.intent.action.MAIN"/>
        <arg value="-e"/>
        <arg value="extra_key extra_value"/>
        <arg value="-n"/>
        <arg value="{package.name}/{activity}"/>
    </exec>
</target>

你可以这样执行:ant debug install run

如何从 Eclipse 运行 ant 文件,请参阅:

【讨论】:

  • 请添加有关如何从 Eclipse 运行此脚本的信息。
  • 我编辑了答案。包含指向 Eclipse 帮助页面的链接
  • 谢谢。它是否经常与调试器一起工作? ant 文件的名称应该是什么?
  • build.xml 我认为在您的项目文件夹的根目录中。只要设备处于开发者模式并且 apk 是可调试的,调试器就应该始终使用调试器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多