Активность, которая запускается только один раз после новой установки? - PullRequest
6 голосов
/ 08 января 2012

Я хочу, чтобы в моем приложении было действие, показывающее инструкции по использованию приложения. Однако этот экран «инструкции» должен отображаться только один раз после установки, как это сделать?

Ответы [ 2 ]

16 голосов
/ 08 января 2012

Вы можете проверить, установлен ли в вашем приложении специальный флаг (назовем его firstRun) SharedPreferences.Если нет, то это первый запуск, поэтому покажите свою активность / всплывающее окно / что-нибудь еще с инструкциями, а затем установите firstRun в предпочтении.

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();
     }
 }
1 голос
/ 28 апреля 2015

да, вы можете решить эту проблему с помощью SharedPreferences

SharedPreferences pref;
SharedPreferences.Editor editor;

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

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

Затем проверьте строку chkRegi ture или false

...