【问题标题】:Intent-filter Browsable for and android Application, not Activity?Intent-filter 可浏览 Android 应用程序,而不是 Activity?
【发布时间】:2013-07-18 18:43:24
【问题描述】:

在 iOS 中,有一种方法可以注册自定义方案,并且可以打开整个应用程序,例如新实例或具有某些应用程序状态(正在运行)的应用程序,而不仅仅是单个 ViewController。

对于 Android,我正在寻找一种方法来在用户单击重定向到我的应用程序的链接后恢复整个活动堆栈(可能在启动浏览器之前启动)。

我不希望用户在关闭浏览器并返回到我的应用程序活动之前必须点击返回,并且我不想只启动单个派生活动 - 而只是返回到我的应用程序活动堆栈新的在顶部。

这有可能以某种整洁干净的方式实现吗?或者至少清理在用户单击打开我的应用活动的链接的浏览器之前启动的应用活动?

【问题讨论】:

  • 我希望我能正确理解你的问题。我认为这就是用户单击主页按钮并继续执行其他工作时发生的情况。堆栈被保存,当用户想要回到你的应用程序时,他/她长按主页按钮并选择你的应用程序进入后台。在 Android 由于资源限制而将其删除之前,活动堆栈保持与用户离开时相同的状态。用户可以从他/她离开应用程序的地方开始。
  • 没错,但我想达到与用户在浏览器运行我的应用程序的新活动意图时返回我的应用程序相同的效果。
  • 您是在应用内启动浏览器吗?
  • 不。它是加载我家广告的外部库 - Admob。此广告正在重定向到某个网址,该网址重定向回我的自定义方案网址,该网址正在被应用、iOS(无法识别 http 方案)或 Android 识别。我已经可以说我无法将广告重定向到自定义方案网址,因为广告提供商不允许这样做(中介等:/)。
  • 我想那就不要在onStoponPause 中完成()你的活动。如果浏览是从添加到您的应用程序中进行的,那么在您关闭浏览器后它应该会自动在同一个活动上。

标签: java android ios android-activity intentfilter


【解决方案1】:

好的,解决方案是创建可浏览的启动活动。然后,此活动将使用标志启动所需的活动:

意图.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK

然后立即结束自己......

【讨论】:

    猜你喜欢
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多