如何限制Android应用程序的堆栈上相同活动的数量

Joh*_*ock 3 android

这在Android应用程序中是否可行?我想做到这一点,无论用户多少次开始活动A,当他们点击后退按钮时,他们将永远不会出现多次活动A.

我在当前代码中发现的是我只有两个选项:1.我可以在activityA中调用finish(),这将阻止它完全通过后退按钮访问,或2.我不调用finish(),然后,如果用户在使用期间开始活动A(n)次,则在按下后退按钮时将有(n)个实例.

同样,我希望通过按下后退按钮来访问activityA,但没有理由在堆栈上保留同一活动的多个实例.有没有办法将队列中活动的实例数限制为1?

Sam*_*muh 7

一种选择是Intent.FLAG_ACTIVITY_REORDER_TO_FRONT每次启动一个Activity时使用,这样如果一个实例存在,它将被带到堆栈的前面而不是每次都创建.这样可以确保只有一个Activity将保留在堆栈中.