gpt4 book ai didi

Android:清除 Activity 堆栈

转载 作者:IT老高 更新时间:2023-10-28 13:00:46 25 4
gpt4 key购买 nike

我的应用程序中有几个 Activity 。并且流程非常复杂。当我单击注销应用程序导航到登录屏幕并从那里用户可以通过取消按钮退出(调用 system.exit(0) )

当我退出或返回按钮时,系统从堆栈调用一个 Activity :(当我到达登录屏幕时如何清除堆栈中的所有 Activity ?调用 finish() 是不切实际的 Activity 太多,有些 Activity 在 Activity 时不应该关闭,例如本地相机调用 Activity 。

validateuser logoutuser = new validateuser();
logoutuser.logOut();
Intent loginscreen = new Intent(homepage.this, Login2.class);
(homepage.this).finish();
loginscreen.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(loginscreen);

最佳答案

你们大多数人都错了。如果您想关闭现有的 Activity 堆栈而不管那里有什么并创建新的根,正确的标志集如下:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

From the doc :

public static final int FLAG_ACTIVITY_CLEAR_TASK
Added in API level 11

If set in an Intent passed to Context.startActivity(), this flag will cause any existing task that would be associated with the activity to be cleared before the activity is started. That is, the activity becomes the new root of an otherwise empty task, and any old activities are finished. This can only be used in conjunction with FLAG_ACTIVITY_NEW_TASK.

关于Android:清除 Activity 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com