如何在启动应用程序时启动上次打开的活动?

时间:2016-03-17 16:31:09

标签: android android-activity back-stack

我设计了一个包含多项活动的应用。任何时候后备栈中只有一个活动实例。当我从名为AcitivityOne的活动中退出应用程序时,如何在下次使用ActivityOne启动应用程序?

1 个答案:

答案 0 :(得分:0)

快速方法就是在onCreate() flags之后setContentView()放置if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { finish(); return; }

SharedPreferences

此外,您可以创建Activity onPause()最后一个选项,如下所示:

@Override protected void onPause() { super.onPause(); SharedPreferences prefs = getSharedPreferences("MyPref", MODE_PRIVATE); Editor editor = prefs.edit(); editor.putString("lastopened", getClass().getName()); editor.commit(); } 修改为:

onCreate()

然后在你的Class<?> LastOpened; try { SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE); LastOpened= Class.forName(prefs.getString("lastoppened", MainActivity.class.getName())); } catch(ClassNotFoundException ex) { LastOpened= MainActivity.class; } startActivity(new Intent(this, LastOpened)); 再次提出这个:

entityManager.find(MyEntity.class, myId);

((Session) getEntityManager().getDelegate()).load(MyEntity.class, myId);

如果没有帮助,请查看此thread