Activity that is only launched once after a new in

2019-01-23 08:46发布

I want my app to have an activity that shows instruction on how to use the app. However, this "instruction" screen shall only be showed once after an install, how do you do this?

2条回答
Lonely孤独者°
2楼-- · 2019-01-23 08:59

You can test wether a special flag (let's call it firstRun) is set in your application SharedPreferences. If not, it's the first run, so show your activity/popup/whatever with the instructions and then set the firstRun in the preference.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    SharedPreferences settings = getSharedPreferences("prefs", 0);
    boolean firstRun = settings.getBoolean("firstRun", true);
    if ( firstRun )
    {
        // here run your first-time instructions, for example :
        startActivityForResult(
             new Intent(context, InstructionsActivity.class),
             INSTRUCTIONS_CODE);

    }
 }



// when your InstructionsActivity ends, do not forget to set the firstRun boolean
 protected void onActivityResult(int requestCode, int resultCode,
         Intent data) {
     if (requestCode == INSTRUCTIONS_CODE) {
         SharedPreferences settings = getSharedPreferences("prefs", 0);
         SharedPreferences.Editor editor = settings.edit();
         editor.putBoolean("firstRun", false);
         editor.commit();
     }
 }
查看更多
乱世女痞
3楼-- · 2019-01-23 09:12

yes, you can fix this problem with SharedPreferences

SharedPreferences pref;
SharedPreferences.Editor editor;

pref = getSharedPreferences("firstrun", MODE_PRIVATE);
editor = pref.edit();

editor.putString("chkRegi","true");
editor.commit();

Then check String chkRegi ture or false

查看更多
登录 后发表回答