вызывающая активность от внешней активности - PullRequest
1 голос
/ 30 января 2011

Я бы хотел начать деятельность, которая не включена в мой оригинальный .apk. Как я могу это сделать? другая активность содержится в другом .apk, который является предыдущей версией текущего приложения. Спасибо, Эяль.

Ответы [ 2 ]

6 голосов
/ 30 января 2011

Я бы посоветовал вам сначала прочитать Основы применения - насколько мне известно, вам придется использовать Intents :

Как отмечалось ранее, одно действие может запускать другое, в том числе определенное в другом приложении. Предположим, например, что вы хотите, чтобы пользователи отображали карту улиц какого-либо местоположения. Уже есть действие, которое может это сделать, поэтому все, что вам нужно сделать, это собрать объект Intent с необходимой информацией и передать его в startActivity (). Вьюер карт отобразит карту. Когда пользователь нажимает кнопку НАЗАД, ваша деятельность снова появится на экране.

Итак, в основном вы определяете новое намерение (вам также следует взглянуть на документы класса Intent ):

Intent myIntent = new Intent();
myIntent.setClassName("com.the.other.app", "com.the.other.app.activityName");
startActivity(myIntent);
5 голосов
/ 30 января 2011

Этот метод хорош, если вы знаете только имя пакета:

PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.the.other.app");
startActivity(intent);
...