相关疑难解决方法(0)

从历史堆栈中删除活动

我的应用在用户首次运行应用时显示了注册活动,如下所示:

  1. ActivitySplashScreen(欢迎来到游戏,注册一个帐户?)
  2. ActivitySplashScreenSignUp(很棒,请填写此信息)
  3. ActivityGameMain(主游戏画面)

因此,当用户点击每个屏幕上的按钮时,活动将以完全相同的顺序相互启动.

当用户从活动#2转到#3时,是否可以完全从历史堆栈中删除#1和#2?我喜欢它,以便如果用户在#3,并点击后退按钮,他们只是转到主屏幕,而不是回到启动画面.

我想我可以用任务来完成这个任务(即在#3上开始一个新任务)但是想看看是否有更简单的方法,

谢谢

android activity-lifecycle android-activity

374
推荐指数
9
解决办法
21万
查看次数

Android:清除后台堆栈

在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仍然会出现.我怎么能避免这种情况?

stack android clear android-intent android-activity

311
推荐指数
16
解决办法
24万
查看次数

如何清除Android Stack的活动?

我在Android中有一个包含多个活动的应用程序,我希望用户能够通过按菜单按钮注销.我遇到的问题是

A)的Android不会让你终止应用程序和
B),即使我的用户发送给LoginActivity他们又可以随时按下背部和马上回以前的活动,他们是in.

我已经尝试使用以下两个标志启动Activity:

Intent intent  = new Intent(this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);        
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

我也亲自尝试过每一个.

我也打过电话finish()startActivity(intent),我在另一个StackOverflow的问题读取.

stack android android-activity back-stack

53
推荐指数
5
解决办法
6万
查看次数

如何清除任务的后台堆栈并只留下新的活动?

我想在开始新的Activity意图时清除backstack.

我的问题的具体情况如下:我有这样的活动A> B> C> D> E"A"是注册活动,"B"是确认注册活动.我希望当用户启动活动"B"时他不能再回到活动"A",当用户达到活动"C"时,活动"A"和"B"都没用,我不需要用户再回到他们身边了.

此外,当用户从"C"移动到活动"D"时,他可以回到"C"但是如果他进一步移动到"E"活动,他就不能回到之前的任何"C"或"D" "活动.

经过大量的研究,我得到的最好的是使用flag:FLAG_ACTIVITY_NO_HISTORY,但它对我的情况有两个问题:

  1. 在活动"A",如果用户离开我的应用程序(例如到主屏幕),它会破坏该活动,因此用户输入的所有信息都将丢失!
  2. 活动"C"如果用户导航到"D"活动但是当用户移动到"E"活动时,我想将其保留在历史记录(backstack)中我想要删除它.

到目前为止我找不到这个问题的解决方案,我认为如果有什么东西可以清除当前任务的后台,那会更容易!

我的最低SDK支持是5.

提前致谢.

android

6
推荐指数
1
解决办法
8702
查看次数