【问题标题】:Launching mobile app from mobile app techniques从移动应用技术启动移动应用
【发布时间】:2015-09-08 07:51:35
【问题描述】:

我们正在使用 Xamarin 开发移动应用程序,并且正在研究两个 (Android) 应用程序之间可以进行什么样的交互/集成。这是我们想到的三种场景:

使用 App Links 可以轻松实现 Fire And Forget 场景。但是,我们想知道移动应用是否可以实现另外两种情况:

  • 包含:第二个应用在容器中集成到第一个应用中(类似于网络技术中的 iframe)。如果我是正确的,实现这样的事情的唯一方法是创建“AppWidgets”和一个“AppWidgetHost”应用程序来托管它们?
  • 模态:第一个应用程序启动第二个应用程序,第一个应用程序被禁用,直到第二个应用程序关闭。我想这可以通过启用和禁用第一个应用的内容来模拟。

知道这两种情况在移动应用中是否可行,以及如何实现?

【问题讨论】:

    标签: c# android mobile xamarin xamarin.forms


    【解决方案1】:

    这应该通过 Intent-Filters 完成,并允许另一个应用程序启动您的 Activity。基本思想是创建一个任何应用程序都可以通过 Intent-Filter 打开的 Activity。您的 Activity 将在他们的应用程序上启动,执行用户需要执行的任何操作,然后关闭并将结果返回给您的应用程序。

    当您在 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

    【讨论】:

    • 谢谢。事实上,当我们正在寻找“移动到移动”的集成场景时,带有 Intent-Filters 的原生解决方案确实可能是最好的选择;因为 App Links 更适合“移动到网络”。感谢您的信息!
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 2018-05-31
    相关资源
    最近更新 更多