Android: как использовать действия, предоставляемые другими приложениями? - PullRequest
0 голосов
/ 22 февраля 2011

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

UPDATE

Основная проблема в том, что я не могу этого сделать:

new Intent(this, SomeExternalActivity.class))

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

Большое спасибо!

UPDATE

Этот тоже не работает:

new Intent(this, Class.forName("com.somepackage.SomeExternalActivity");

Ответы [ 3 ]

1 голос
/ 22 февраля 2011

Это рабочий пример для RemoteDroid

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setClassName("com.joshsera", "com.joshsera.RemoteDroid"); 
startActivity(intent); 
1 голос
/ 27 мая 2011

Активность, которую вы вызываете, должна появляться не только в Манифесте для его собственного пакета, но и в Манифесте для пакета CALLING.

1 голос
/ 22 февраля 2011

Вы можете запускать действия, связанные с вашим приложением, только с помощью этого конструктора:

Intent(Context packageContext, Class<?> cls)

Вам понадобится одно из следующих действий для доступа к внешней деятельности:

Intent(String action)
Intent(String action, Uri uri)

В вашем случае вы бы использовали это намерение:

new Intent("com.somepackage.SomeExternalActivity");

Также обратите внимание, что для доступа к активности в другом приложении это приложение должно предоставлять доступ к своей активности (через AndroidManifest.xml)

Проверьте следующее для более подробного объяснения: http://developer.android.com/reference/android/content/Intent.html http://developer.android.com/guide/topics/manifest/manifest-intro.html http://developer.android.com/guide/topics/intents/intents-filters.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...