Как запускать приложения для Android в моем приложении на Android?

В моем приложении есть вкладка. И две вкладки.

  • Вкладка 1 – мое приложение Введите описание изображения здесь
  • Вкладка 2 – любое внешнее приложение для Android (например, Контакты, набор номера и т. Д.) (Я знаю, как запускать внешнее приложение, но оно не работает в моем приложении (значит, вкладка не будет отображаться после запуска)).

заранее спасибо

Solutions Collecting From Web of "Как запускать приложения для Android в моем приложении на Android?"

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

Каждое приложение для Android работает в песочнице: http://developer.android.com/guide/topics/security/security.html

В частности:

Поскольку Android изолирует приложения от приложений, приложения должны явно делиться ресурсами и данными. Они делают это, объявляя необходимые разрешения для дополнительных возможностей, не предоставляемых базовой песочницей. Приложения статически объявляют необходимые разрешения, а система Android запрашивает у пользователя согласие на момент установки приложения. Android не имеет механизма для предоставления разрешений динамически (во время выполнения), поскольку это усложняет работу пользователя в ущерб безопасности.

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

По-моему, это невозможно.

Вы можете отображать только свои собственные действия внутри TabHost . Для внешних действий вам понадобится неявное намерение, но TabHost не поддерживает это: TabHost внешнего намерения в основной активности

Поэтому вы показываете данные из зарубежного приложения в своей собственной деятельности. Сделайте это, вы запрашиваете у поставщика контента другое приложение (см. http://developer.android.com/guide/topics/providers/content-providers.html ) в своей деятельности по списку (см. Полный пример на странице http: / /developer.android.com/reference/android/app/ListActivity.html ) и включите эту ListActivity в свою TabHost.

Read doc (раздел намерения), например:

 public class MyTab extends TabActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final TabHost tabHost = getTabHost(); Intent taskIntent = new Intent(this, Public.class); taskIntent.putExtra(Intent.ACTION_VIEW, "public"); TabHost.TabSpec tsValid = tabHost.newTabSpec("public"); tsValid.setIndicator(getText(R.string.tab_title_public)); tsValid.setContent(taskIntent); tabHost.addTab(tsValid); Intent annIntent = new Intent(this, Private.class); annIntent.putExtra(Intent.ACTION_VIEW, "private"); TabHost.TabSpec tsGenerate = tabHost.newTabSpec("private"); tsGenerate.setIndicator(getText(R.string.tab_title_private)); tsGenerate.setContent(annIntent); tabHost.addTab(tsGenerate); } }