Android: можно ли запускать какие-либо другие приложения из моего собственного? - PullRequest
0 голосов
/ 10 июня 2011

Это вопрос по Android noob.

Я пытаюсь запустить активность другого apk через собственное приложение. Теперь я знаю, что могу запустить любое другое приложение и вызвать его основное действие. Во многих случаях я также могу запускать субактивности, например, отображать диалог настроек. Однако в некоторых приложениях, например в Facebook или Endomondo, я получаю ФК каждый раз, когда пытаюсь запустить какую-то конкретную активность их приложения.

Теперь я подозреваю, что это проблема с разрешениями, и что разработчики Facebook или Endomondo просто не хотят, чтобы другие приложения получали доступ к своей деятельности. Но должен ли я выяснить, какие виды деятельности я могу использовать, а какие не могу использовать методом проб и ошибок каждый раз?

Плюс: есть ли способ обойти эту дилемму? Может быть на рутованном устройстве?

Приветствия к любым указателям.

1 Ответ

2 голосов
/ 10 июня 2011

Как вы уже сказали, вы можете использовать только те действия других приложений, которые предназначены для использования другими приложениями. Обычно разработчик другого приложения определяет набор намерений и действий, которые их приложение сможет понять и обработать.

Использование активности любого другого приложения по умолчанию невозможно, это сделано из-за Android, поскольку каждое приложение запускается в своем собственном изолированном процессе (есть некоторые исключения, когда приложения могут совместно использовать процесс).

Таким образом, чтобы использовать действия другого приложения, вы должны знать намерения, которые оно слушает. Обычно это можно найти на веб-сайте приложений или в документации или в OpenIntents словаре намерений.

...