2014-09-27 3 views
0

Я хочу, чтобы иметь возможность изменять, какой Activity запускается, когда пользователь запускает приложение.Изменение по умолчанию Активность динамически

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

Как я могу это сделать? Единственный способ, которым я знаю, кажется очень неуклюжим: иметь по существу пустое действие, которое имеет MAIN-фильтр-замысел, - который затем считывает пользовательские настройки и передает пользователю желаемое действие. Это создает массу беспорядков, например, нужно учитывать обратный стек, а накладные расходы на загрузку одной активности прямо за другой кажутся расточительными для времени и ресурсов.

+0

Это единственный способ. Помните, чтобы завершить пустую деятельность после того, как вы начали новую – Blackbelt

ответ

1

Вы не можете динамически изменять активность запуска.

Как вы сказали, это возможно, сохраняя пользовательские настройки и каждый раз запуская желаемую активность. Я пробовал это, и он достаточно быстр, чтобы не проявить себя. Не забудьте вызвать финиш на основной активности. он решит проблему с задним стеклом.

Также вы можете использовать разные фрагменты для разных действий и решить, какой из них следует добавить в основное действие. Это может быть быстрее. Однако, как я сказал, он достаточно быстр, чтобы начать новую деятельность и скрыть основное действие, потому что это делается в методе onCreate. Не беспокойтесь об этом.

Смежные вопросы