【发布时间】:2013-04-17 17:36:27
【问题描述】:
我正在开发一个应用程序,我必须在应用程序生命周期中只显示一次活动。
我正在做的是在我的MainActivity.java 上调用Activity 1,所以当我进入我的应用程序之后,每当我回到MainActivity.java 时,我的Activity 1 就会被调用。我只想展示一次。
当用户杀死应用程序并重新启动它时,应该再次显示Activity 1。
这是我在MainActivity.java 中所做的:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startActivity(new Intent(MainActivity.this,
Activity1.class));
}
我尝试过使用以下代码,但它只运行一次,在第一次安装应用程序时。
private boolean isFirstTime() {
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean ranBefore = preferences.getBoolean("RanBefore", false);
if (!ranBefore) {
// first time
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("RanBefore", true);
editor.commit();
}
return !ranBefore;
}
我怎样才能修改上面的代码,以满足我的要求。
我们将不胜感激。
【问题讨论】:
-
您的意思是在应用程序生命周期中一次,还是在用户第一次启动应用程序时一次,以后再也不会?
-
一旦只有用户启动了我想要显示活动的应用程序。如果用户在我的活动中移动并且他来到 MainActivity 我不想再次向用户显示 Activty1。而且,当用户退出应用程序并再次重新启动应用程序时,Activity1 将再次显示,直到并且除非他退出应用程序才显示 Activity1。
标签: android android-activity sharedpreferences