Только один экземпляр всего приложения нескольких действий
У меня есть приложение для Android с 3 видами деятельности. Я в основном хочу иметь один экземпляр, который охватывает все три вида деятельности.
Поэтому для действий A, B и C я бы хотел, чтобы пользователь мог просматривать только один из них одновременно. Я не хочу многократные экземпляры любого из этих действий. я пытался android:launchMode="singleTask"
какой-то способ работает, но когда пользователь возвращается в приложение, он всегда сначала сначала запускает действие A вместо перехода к действию B, где пользователь нажимал кнопку "домой".
Было бы лучше, если бы я просто переместил все фрагменты, размещенные в этих действиях, в одно действие и покончил с упражнениями B и C? Деятельность A содержит только один фрагмент, страницу входа / регистрации.
С помощью singleTask launch mode
мне нужно еще добавить Intent
флаги при запуске других действий?
2 ответа
Вы должны использовать три фрагмента, используя ViewPager вместо трех activitiew.
Поэтому для действий A, B и C я бы хотел, чтобы пользователь мог просматривать только один из них одновременно.
Вы можете иметь только один Activity
в центре внимания в то время. Другая Activity
может быть виден за вашим Activity
(т.е. самый верхний Activity
может быть тематическим Dialog
), но только один Activity
имеет фокус; следовательно, пользователь может взаимодействовать только с одним Activity
в это время.
он всегда сначала запускает действие A вместо перехода к действию B
Android всегда запускается первым Activity
это помечено как
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
в AndroidManifest.xml. Вы можете добавить логику, чтобы создать иллюзию, что это Activity
не был вызван, и вы запускаете Intent
к соответствующему.
Было бы лучше, если бы я просто переместил все фрагменты, размещенные в этих действиях, в одно действие и покончил с упражнениями B и C?
Это полностью зависит от вас. На мой взгляд, это может быть более правильным для использования Fragments
так как вы можете легко заменить их на основе логических условий (то есть вошли в систему или нет) без необходимости создавать новые Activity
(пользователю это может показаться более незаметным).