2

Мне нужно запустить действие (а не основное действие) приложения из приложения, которое я сделал. Активность, которую я хочу запустить, является собственностью, поэтому я не могу внести никаких изменений в ее код (или манифест).Запустить действие приложения из другого приложения на Android

Например: Я хочу запустить чей-то профиль Facebook из своего приложения. Обычное намерение facebook из моего приложения откроет «ленту новостей» (чего я не хочу). Я хочу знать, как получить доступ к любой другой деятельности. Спасибо заранее!

Маленький код у меня есть:

String PACKAGE="com.facebook.katana"; 
Intent launchIntent = getPackageManager() 
        .getLaunchIntentForPackage(PACKAGE); 
startActivity(launchIntent); 
+1

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

ответ

1

Для запуска специфической активности необходимо использовать явное намерение. Или используйте неявное намерение с действием, если вы знаете, какое действие отвечает эта деятельность.

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

 Intent intent = new Intent(); 
     intent.setComponent(new ComponentName("com.package.name", "com.package.name.ActivityName")); 
     if(getPackageManager().resolveActivity(intent, 0) != null) { 
      startActivity(intent); 
     } else { 
      Toast.makeText(this, "No app installed that can perform this action", Toast.LENGTH_SHORT).show(); 
     } 

Вы можете также добавить флаги намерению, добавлять действия и категории. Пока намерение может быть разрешено как жизнеспособное намерение PackageManager, оно запустит действие.

Теперь ...

Вопрос о профиле facebook, это другой один.

Возможно, лучший способ достичь этого - использовать намерение с действием VIEW и povide Intent.setData с uri на странице профиля. Это также должно быть проверено на возможность правильного разрешения. А затем запустит выбор всех поддерживаемых действий, чтобы открыть его, который должен включать приложение facebook. Затем пользователю нужно открыть намерение с помощью приложения Facebook или запуска.