Как начать андроидную активность от eclipse с помощью пользовательского намерения

Я хотел бы, для нескольких целей тестирования, запустить мою деятельность Android из Eclipse с конкретными данными о намерении (например, дополнительные данные, такие как имя файла для загрузки). Где в меню я могу это предоставить?

  • В конфигурации выполнения на 3 вкладках нет ничего, чтобы предоставить любые аргументы
  • Я могу изменить некоторые параметры в файлах ресурсов, но я боюсь, что могу утечь ресурсы, которые подойдут к окончательному приложению.
  • Это можно сделать в adb: См. здесь, но в настоящее время он не связан с командой запуска F11 в Eclipse, которая полезна для перекомпиляции и перезапуска на то же время.

Ответ 1

Если вы все еще используете eclipse, вам, вероятно, потребуется создать простой ant script с настраиваемой задачей для выполнения теста. У оболочки ADB есть команда для запуска действий, где вы также можете указать дополнительные

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, которую вы должны поместить в ant script.

<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

Как запустить ant файлы из eclipse: