Только один экземпляр всего приложения нескольких действий

У меня есть приложение для 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 (пользователю это может показаться более незаметным).

Другие вопросы по тегам