我有一个场景,我的应用程序有一系列活动,然后打开浏览器活动。浏览器活动然后验证用户,并调用回具有自定义方案的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)
我知道有一些标志可以用来恢复现有的活动,而不是重新创建它们,但它们不能作为浏览器被限制在浏览器任务堆栈中后创建的任何新意图。
我想在被webview调用后立即完成活动会弹出堆栈上的最后一个活动。
您是在使用Webview
还是在启动第三方浏览器?在最后一种情况下,考虑使用Webview