我们组织中的应用程序在各个站点以 KIOSK 模式运行,从默认活动、启动屏幕开始,具有动画徽标。
在启动屏幕之后,根据特定参数做出决定,以确定下一个活动。
UserPanelActivity 对用户始终可见,作为主要交互点。
用户可以从 UserPanelActivity 专门导航到 LoginActivity。登录后,用户只能继续进入 MainActivity。
到达MainActivity后,用户可以根据自己的喜好探索多个活动。
值得注意的是,用户只能从这些后续活动返回到 MainActivity。
目标是找到一种方法,通过从活动堆栈中删除 MainActivity 之后打开的所有活动来关闭它们。随后,应启动 UserPanelActivity。
执行此操作的一种方法是调用
finishAffinity()
,这将关闭当前 Activity 并从后台删除所有内容(包括 MainActivity)。同时,您可以启动 MainActivity 的新实例,并在其包中向其传递一个参数,告诉它您要打开一个特定的 Activity。