如何使用自定义Intent从eclipse启动android活动

时间:2014-07-04 07:59:31

标签: android eclipse android-intent adb

我想,出于多个测试目的,从Eclipse开始我的android活动,其中包含有关意图的特定数据(例如,要加载的文件名等额外数据)。 在菜单中我可以提供这个吗?

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

1 个答案:

答案 0 :(得分:7)

如果你还在使用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

P.S。在活动开始之前不要忘记点。

这可以转换为你应该放在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文件,请参阅: