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