Начать работу от другого без загрузки первого макета

Моя активность запуска может начинаться с другого состояния в определенном состоянии, оно выглядит примерно так:

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

    prefManager = new PreferenceManager();
    if (prefManager.startMain(this)) {
        startActivity(new Intent(this, MainActivity.class));
        finish();
        return;
    }

    setContentView(R.layout.activity_wizard);
...
...

PreferenceManager - это просто помощник для легкого доступа к SharedPreferneces .

Если условие истинно, отображается мигание первого макета активности, и только тогда начинается второе действие.

Я хочу пропустить мигание первого макета активности при запуске второго (я действительно ожидал этого, так как я не называю setContentView но, видимо, это не так).

Я думал о создании третьей, прозрачной деятельности макета, которая запускает правильную деятельность, но я надеюсь, что есть лучший способ.

Всего 1 ответ


Переключите startActivity () и завершайте () вокруг, так что finish () вызывается первым, не смог проверить, но может быть

if (prefManager.startMain(this)) {
        finish()
        startActivity(new Intent(this, MainActivity.class));
    }

Не следует требовать возврата


Есть идеи?

10000