我正在处理的应用程序的流程存在一些问题。基本上,我有一个服务,它总是持有一个通知,按下通知应该返回到应用程序的最新活动,而不重新打开它(意味着它将恢复)。此外,在特定活动(可能还有其他活动)上,我需要单击后退按钮会退出应用程序(和服务),因此下次最终用户通过启动器或长按主页按钮启动它时,它将回到第一个活动。
简而言之,要求是:
- 服务通知单击 -> 恢复当前活动,不创建新活动。
- 返回单击特定活动-> 完全关闭应用程序(清除所有应用程序的堆栈)。
因此,例如,如果我有调用活动 B 的活动 A(这是特殊活动):如果最终用户单击主页,然后通过通知返回到应用程序(或通过启动器/长按主页按钮启动) ,它将返回到他离开它的活动 B 的确切状态。此外,如果最终用户在活动 B 上按下了后退按钮,则应用程序将关闭(并且服务和通知将消失),下次他打开应用程序(无论如何),他将返回活动 A 。
我尝试在活动 B 上使用“singleInstance”,但它总是会回到活动 B,因为它在自己的任务中,无论我使用哪个标志(我已经尝试过 FLAG_ACTIVITY_REORDER_TO_FRONT 和其他一些标志)。如果不使用它,通知将打开一个新的活动 B 实例。
有人可以帮忙吗?