仅在第一次运行时打开活动

时间:2015-06-19 17:01:59

标签: android android-activity

我的第一个布局中有一个按钮,我希望当用户点击它时,它会显示另一个活动,然后从不显示第一个活动。

我试过了:

Boolean isFirstRun = getSharedPreferences("PREFERENCE", MODE_PRIVATE)
        .getBoolean("isFirstRun", true);

if (isFirstRun) {
    //show start activity
    startActivity(new Intent(MainActivity.this, FirstLaunch.class));
    Toast.makeText(MainActivity.this, "First Run", Toast.LENGTH_LONG)
            .show();
}

getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
            .putBoolean("isFirstRun", false).commit();

1 个答案:

答案 0 :(得分:3)

我怀疑,因为它可能无法点击getSharedPreferences()行,而只是导航到您的新活动FirstLaunch

所以我认为它应该是,

if (isFirstRun) {
    //show start activity
    getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
            .putBoolean("isFirstRun", false).commit();
    startActivity(new Intent(MainActivity.this, FirstLaunch.class));
    Toast.makeText(MainActivity.this, "First Run", Toast.LENGTH_LONG)
            .show();
}

基本上,在导航到FirstLaunch活动之前,您必须在SharedPreferences中保存isFirstRun的状态。