2015-09-08 3 views
1

Мы используем Xamarin для разработки мобильных приложений, и мы изучаем, какие взаимодействия/интеграции между двумя (Android) приложениями возможны. Эти три сценария мы думаем о:Запуск мобильного приложения из методов мобильных приложений

enter image description here

Использование App Ссылки легко реализовать и забыть сценарий. Тем не менее, нам интересно, возможно ли два других сценария с мобильными приложениями:

  • Содержится: второе приложение встроен в контейнер в первое приложение (по аналогии с IFRAME в веб-технологии). Если я прав, единственный способ добиться чего-то подобного - создать приложение AppWidgets и приложение AppWidgetHost для их размещения?
  • Модальное: первое приложение запускает второе приложение, и первое приложение отключено, пока второе приложение не будет закрыто. Я предполагаю, что это можно моделировать путем включения и отключения содержимого первого приложения.

Любая идея, возможны ли эти два сценария в мобильных приложениях и как их можно достичь?

ответ

1

Это должно быть сделано с помощью Intent-Filters и позволяет другому приложению запускать вашу деятельность. Основная идея - создать Activity, который любое приложение может открыть через Intent-Filter. Ваша деятельность будет запускаться поверх их приложения, делать то, что нужно пользователю, а затем закрыть и вернуть результаты в ваше приложение.

Когда вы устанавливаете приложение на Android, оно идентифицирует любые фильтры намерений и размещает их во внутреннем каталоге всех приложений, поддерживаемых приложениями. Это позволяет пользователям потенциально выбирать между своими любимыми приложениями для выполнения определенных действий, но вы можете, конечно, построить что-то, что работает только между двумя приложениями.

Настройка его описана в документации ниже, но детали действительно зависят от того, что вы пытаетесь сделать с вашим приложением. Если вы пытаетесь получить результат, StartActivtyForResult может предоставить это. Вы можете просто использовать Activity из другого приложения, которое будет регистрировать информацию на сервере и не возвращать значение. Для этого случая можно использовать StartActivity, если при запуске Activity происходит вызов Finish() после выполнения любых действий. В противном случае вы можете быть заблокированы в другой операции. Надеюсь, это поможет!

Документация помочь:
https://developer.android.com/training/app-indexing/deep-linking.html https://developer.android.com/training/basics/intents/filters.html

+0

Спасибо. В самом деле, поскольку мы ищем сценарий интеграции «мобильный телефон», собственное решение с Intent-Filters действительно является лучшим выбором; так как ссылки на приложения больше для «мобильного телефона». Спасибо за информацию! –

Смежные вопросы