Можно ли запустить действие в другом apk, используя startActivity на Android, используя имя действия или подобное? - PullRequest
4 голосов
/ 20 апреля 2010

Я пытался написать приложение для Android с активностью, которая должна быть запущена из другого приложения. Это не поставщик контента, а просто приложение с графическим интерфейсом, которое не должно быть указано среди установленных приложений. Я попробовал примеры кода здесь , и, кажется, довольно легко запустить существующих поставщиков и т. Д., Но я не могу понять, как просто написать «скрытое» приложение и запустить его из другого приложения. .

Основной вариант использования:

  • Приложение A - это обычный apk, запускаемый из списка приложений.
  • Приложение B - это другой apk с известными именами пакетов и действий, но его нельзя увидеть или запустить из списка приложений.
  • Приложение A запускает приложение B, используя имена пакетов и классов (или, возможно, URI, созданный из них?).

Я потерпел неудачу на третьем этапе. Возможно ли это сделать?

Ответы [ 3 ]

5 голосов
/ 20 апреля 2010

Да.

Используйте имя пакета и имя класса, например так (для запуска Gmail):

new Intent("com.google.android.gm", "com.google.android.gm.ConversationListActivity");
1 голос
/ 21 апреля 2010

В тех же строках, если у меня есть приложение, которое обычно запускает действие, могу ли я встроить его в apk, подписав его закрытым ключом. Позволит ли это доступ к этой активности из других приложений, созданных другими разработчиками?

1 голос
/ 20 апреля 2010

Почему вы хотите использовать «имена пакетов и классов» для запуска операций во втором .apk?

Почему бы не использовать Intent, поскольку это стандартный способ запуска Activity?

...