【问题标题】:Display previous activity after launching browser activity?启动浏览器活动后显示以前的活动?
【发布时间】:2012-03-05 23:51:35
【问题描述】:

我的应用有一系列活动,然后打开一个浏览器活动。然后,浏览器活动对用户进行身份验证并回调到具有自定义方案的 URL,即 myapp://finished。

意图过滤器用于触发现有活动之一的显示。我基本上希望应用返回到启动浏览器活动之前显示的活动。

我遇到的问题是浏览器活动创建了一个新任务,因此当浏览器回调并加载我的活动时,它的新实例是在浏览器任务中创建的,而不是我的应用程序的原始任务。这会导致我的活动被重新创建。

Task (created by my app)

1) Activty 1

2) Activty 2

Task (created by the browser)

3) Browser Activity

4) Activity 2 (new instance)

我知道有些标志可用于恢复现有活动而不是重新创建它们,但它们不能作为在浏览器被限制到浏览器任务堆栈后创建的任何新意图。

【问题讨论】:

    标签: android browser android-activity android-intent stack


    【解决方案1】:

    我想通过在被 webview 调用之后完成活动将弹出堆栈上的最后一个活动。

    【讨论】:

      【解决方案2】:

      您是在使用Webview 还是正在启动第 3 方浏览器?在最后一种情况下,考虑使用 Webview

      【讨论】:

      • 我正在使用 SocalLib,它会创建一个 Web 浏览器活动。所以我没有控制它是如何做到的。看来我可能必须自己编写一些身份验证逻辑。
      猜你喜欢
      • 1970-01-01
      • 2011-08-09
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2014-10-02
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多