我遇到的问题是我的CloudRail使用Activity
需要Google的OAuth授权,因此必须通过Chrome浏览器进行操作并通过自定义方案取回授权。
为了在同一个(调用)Activity
中处理它,我必须使用android:launchMode="singleTask"
(或者,我想,也许singleInstance也可以工作)。
问题出现在我的主要活动启动应用程序的其他活动之一时。如果我碰巧从应用程序切换,再次点击桌面上的应用程序图标,它会重新启动主要活动。只有在我按上面指定launchMode
时才会发生这种情况。
事情的行为符合预期 - 即,当以前在不同的子版本中重新启动应用程序时,Activity
会恢复该子版本Activity
- 如果我删除了launchMode
说明符。
为了获得这两种行为,有什么建议吗?即,从Chrome处理自定义方案回调,以及能够恢复到当前/上次活动的任何Activity
?