Java 在安卓系统中,我如何检查堆栈上是否还有其他哪些活动保持打开状态?
基本上我想做一个if语句,如下所示,但我不知道怎么做Java 在安卓系统中,我如何检查堆栈上是否还有其他哪些活动保持打开状态?,java,android,android-layout,android-intent,android-activity,Java,Android,Android Layout,Android Intent,Android Activity,基本上我想做一个if语句,如下所示,但我不知道怎么做 if (Android_Classes_Left_Open){ Intent a = new Intent(SplashScreen.this, 2ndtoTopElement.class); startActivity(a); } else { Intent a = new Intent(SplashScreen.this, Other.class); startActivity(a); } 到目前为止,我
if (Android_Classes_Left_Open){
Intent a = new Intent(SplashScreen.this, 2ndtoTopElement.class);
startActivity(a);
} else {
Intent a = new Intent(SplashScreen.this, Other.class);
startActivity(a);
}
到目前为止,我的SplashScreen代码:
public class SplashScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashScreen.this, First.class);
startActivity(i);
finish();
}
}, 3000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.splash, menu);
return true;
}
}
这样做的目的是,如果用户将应用程序移动到后台,那么他们将返回到最近打开的活动,而不是每次都从头开始启动应用程序。我如何才能做到这一点?您的解决方案是,无论何时您进入任何新活动 1.)您必须将此活动的名称保存在共享首选项中(在同一个键上)。您必须在每个活动或BaseActivity的onResume()中执行此操作 2.)每次启动屏幕时,您必须检查此活动的名称,并将其传递给您
因此,每次启动屏幕完成后,您都会看到最后一个打开的活动。什么是“打开的类”?呃,这不是Android中的默认行为吗?当您使用Android应用程序时,单击给定的按钮打开另一个活动。然后,它将以前的活动保留在后台(打开的活动)。我有一个启动屏幕,似乎每次打开Android应用程序时都会打开。因此,我试图完成的是,让启动屏幕检查最近使用的活动(保留在后台),如果有的话。然后引导用户去做,而不是其他你不“开课”,你就开始活动。也许这会澄清问题:OP想要的是标准的、默认的Android行为。他不需要通过编程来获得它。有时候你需要从字里行间读。这可能是问题的答案,但实际上并不是OP想要或需要的。@DavidWasser那么你的意思是说我应该在答案中包含代码吗?不。我的意思是,这不是对OP问题的有益回答。这也许能回答他提出的问题,但不是他所需要的。如果OP(或其他阅读本文的人)效仿你的例子,他们走错了路(IMHO)。只要我的2美分。