我的应用在用户首次运行应用时显示了注册活动,如下所示:
因此,当用户点击每个屏幕上的按钮时,活动将以完全相同的顺序相互启动.
当用户从活动#2转到#3时,是否可以完全从历史堆栈中删除#1和#2?我喜欢它,以便如果用户在#3,并点击后退按钮,他们只是转到主屏幕,而不是回到启动画面.
我想我可以用任务来完成这个任务(即在#3上开始一个新任务)但是想看看是否有更简单的方法,
谢谢
在Android中我有一些活动,比方说A,B,C.
在A中,我使用此代码打开B:
Intent intent = new Intent(this, B.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在B中,我使用此代码打开C:
Intent intent = new Intent(this, C.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
当用户点击C中的按钮时,我想返回A并清除后栈(关闭B和C).因此,当用户使用后退按钮B和C将不会显示时,我一直在尝试以下内容:
Intent intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
但是当我回到活动A时,如果我使用后退按钮,B和C仍然会出现.我怎么能避免这种情况?
由于我们的应用用户因恢复活动而报告了一些崩溃,我想测试一下.
有没有可能手动导致Android破坏运行(背景)活动以节省空间?
可能重复:
Android:清除后台堆栈
当我调用back_Stack中没有的新Activity时,有没有办法清除back_Stack?(我正在使用Api vesion 8)..请帮助?
任何人都可以帮助我完成我的任务我有一个actvitiy我在新的Intent新活动中打开,而且在这个新的活动中我再次打开新意图(previsios活动没有关闭,所以我可以在设备上点击后退按钮返回给他们).我想写"退出按钮"并开始新的活动,我只能关闭一个previsios活动,但pre-previsios仍然是开放的.在理想它喜欢 - MainActivity - > SettingsActivity - > LogoutActivity(这里我们必须回到loginActivity)我试过
mIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Run Code Online (Sandbox Code Playgroud)
但没有运气:(