我的应用程序中有一个帮助活动,我希望它只在第一次运行时启动。
我试过这个:
在创建帮助活动时:
SharedPreferences settings = getSharedPreferences("prefs", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("firstRun", true);
editor.commit();
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
在onResume of Help Activity中:
@Override
public void onResume() {
super.onResume();
SharedPreferences settings = getSharedPreferences("prefs", 0);
boolean firstRun = settings.getBoolean("firstRun", true);
if (!firstRun) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
Log.d("TAG1", "firstRun(false): " + Boolean.valueOf(firstRun).toString());
} else {
Log.d("TAG1", "firstRun(true): " + Boolean.valueOf(firstRun).toString());
}
}
on MainCctivity onCreate:
SharedPreferences settings = getSharedPreferences("prefs", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("firstRun", false);
editor.commit();
boolean firstRun = settings.getBoolean("firstRun", true);
Log.d("TAG1", "firstRun: " + Boolean.valueOf(firstRun).toString());
但是它没有显示帮助活动,当它运行应用程序时它只会跳转到MainActivity
!!
我的应用程序中有一个退出按钮,当我想使用该按钮退出应用程序时,它再次显示MainActivity
并且没有退出应用程序。
答案 0 :(得分:3)
在MainActivity
的onCreate中执行此操作。如果您将MainActivity
设置为启动器活动,那就是您应该需要的全部内容。这是我推荐的。
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean firstRun = settings.getBoolean("firstRun", true);
if (firstRun) {
settings.edit().putBoolean("firstRun", false).apply();
//start help activity
}
使用MainActivity
作为启动器活动,您应该更快地启动,因为您不会每次都创建两个活动。而且你避免在后台堆叠中有两个活动。
ps:Google不建议使用"退出"按钮。相反,您应该依靠back \ home按钮来关闭应用程序,并让操作系统决定应用程序何时销毁 Is quitting an application frowned upon?