【发布时间】:2015-04-01 22:08:15
【问题描述】:
我已经完成了一个简单的基于内容的应用程序。应用程序始终以启动画面启动。 3 秒后,它从 SpalshActivity 转到 MainActivity。但是我面临一个问题。如果我在应用程序显示启动画面时按下返回按钮并再次从设备应用程序列表启动应用程序,则应用程序正常启动,但我必须按两次返回图标才能退出应用程序。因为 app 有另一个 MainActivity 实例来自之前的启动。
我怎样才能避免这种双重实例?
public class SplashActivity extends Activity {
private static int SPLASH_TIME_OUT = 2000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashActivity.this,
MainActivity.class);
startActivity(i);
finish();
}
}, SPLASH_TIME_OUT);
}
}
【问题讨论】:
-
@JaredBurrows 已编辑。代码给了
-
如果您退出应用程序,如果您点击返回按钮,它将再次运行。如果您点击主页按钮,如果将恢复您的
MainActivity。你有什么问题? -
QA 报告的一个问题,它是 - 如果我在启动应用程序的那一刻按下返回按钮,然后再次启动应用程序,应用程序将正常运行,并且在启动屏幕后将出现主要活动。但是,如果我按下后退按钮,则当前的 mainactivity 消失了,但另一个 mainactivity 实例仍然出现在屏幕上。所以我必须按两次后退按钮才能退出应用程序。
-
贴出MainActivity和AndroidManifest.xml的源码。