今天在测试的时候发现,我点击home键,用多任务看,app是在后台运行的,通过多任务进入app也是恢复到按home键之前的状态。但是,我按home键切换到后台,再通过点击图标的方式启动,它又一次进入了欢迎页。最好的结果当然是两种方式都恢复成之前的状态,除非app被手动杀死了。
首先我的欢迎页是这样设置的:
<activity android:name=".WelcomeActivity">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</activity>
然后,通过这种方式启动MainActivity:
runnable = () -> {
startActivity(new Intent(WelcomeActivity.this, MainActivity.class));
finish();
};
handler.postDelayed(runnable, 3000);
WelcomeActivity的启动模式是默认,MainActivity的启动模式是singleTask,只要在WelcomeActivity的onCreat生命周期里加上下面代码就可以解决问题了:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!isTaskRoot()) {
finish();
return ;
}
setContentView(getLayoutId());
initView();
}
这个时候再去测试就和想象中一样啦
网友评论