Мне нужно показать один SecondActivity
только один раз и только при первом запуске приложения. Я реализовал это следующим образом (см. Ниже), но мне не очень нравится решение, потому что мне нужно накачать макет на onResume()
, потому что если у меня нет, у меня появляется пустой Activity
, когда я нажимаю back
аппаратная кнопка, являющаяся на SecondActivity
.
public class TestActivity extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
public static final String FIRST_RUN = "FirstRun";
SharedPreferences sharedPreferences;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sharedPreferences = getSharedPreferences(PREFS_NAME, 0);
if (sharedPreferences.getBoolean(FIRST_RUN, false)) {
setContentView(R.layout.main);
} else {
Intent i = new Intent(this, Second.class);
startActivity(i);
}
}
@Override
protected void onResume() {
super.onResume();
setContentView(R.layout.main);
}
}
В Second Activity
Я просто поставил флаг FirstRun
в true.