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