我创建了一个具有多个页面的应用程序,从一个页面到另一个页面的导航代表了一个关键流程。我不希望用户能够在没有先警告他的情况下按下后退按钮并退出活动,然后最终删除所有堆栈跟踪,这样当活动再次启动时它会重新开始。
到目前为止,我一直在使用类似于以下功能的东西:
@Override
public void onBackPressed()
{
this.finish();
Intent int1= new Intent(this, Home.class);
int1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(int1);
super.onBackPressed();
}
但有时当我退出应用程序后,当我再次启动它时,它会从某个随机页面或我退出应用程序的页面重新启动(基本上不是预期开始的主屏幕)
除了清除代码中描述的所有以前的活动标志之外,我想不出一种更干净的方法来退出应用程序。对上述任何帮助表示赞赏!
编辑 :
如果用户按下后退按钮,在我的活动流程中的任何时候,我都希望将控件扔回主页(清除所有以前的活动堆栈跟踪)。这样,如果有人重新启动应用程序,它将从主页正常重新启动。