Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
TonyBicbaev
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 133
#1

Стэки Активностей - Программирование Android

07.12.2016, 07:30. Просмотров 208. Ответов 10
Метки нет (Все метки)

Всем привет. Подскажите где ошибся.
Нужна небольшая помощь.Много читал про стэки но все ровно не чего не понял. И объяснить не кому.
В общем у меня есть 2 активности. Авторизации, и навигации.
Что нужно сделать:
1.Первый вход естественно открываем Авторизацию. Переходим в навигацию.
Java
1
2
3
4
 Intent intentNext = new Intent(this, NavigationActivity.class);
 intentNext.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP |
                            Intent.FLAG_ACTIVITY_SINGLE_TOP);
  startActivity(intentNext);
1.1 Здесь проблема такая, когда перешел на Навигацию, и свернул приложение, потом развернул, открывается окно Авторизации.
2. Авторизовавшись нам больше не нужно показывать активность авторизации.
2.1. В Навигации есть кнопка "Выход". При нажатие возвращаемся на Авторизацию.
Java
1
2
3
4
  Intent intent = new Intent(NavigationActivity.this, MainActivity.class);
  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP |
                                        Intent.FLAG_ACTIVITY_SINGLE_TOP);
                                startActivity(intent);
Манифест

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Активность Авторизации.
   <activity
            android:name=".Activity.MainActivity"
            android:screenOrientation="portrait"
            android:launchMode="singleTask"
            android:windowSoftInputMode="adjustResize|adjustPan|stateAlwaysHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
Активность навигации.
 <activity android:name=".Activity.NavigationActivity"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
             android:theme="@style/AppTheme.NoActionBar"
            />
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2016, 07:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Стэки Активностей (Программирование Android):

Наслоение активностей
Всё ниже: private GridView.OnItemClickListener gridviewOnItemClickListener =...

Несколько Активностей и кнопки
Не переключается на другую активность по нажатию кнопки, хотя в манифесте...

Жизненный цикл активностей
Здравствуйте, уважаемые форумчане. Столкнулся с небольшой проблемой, думаю вы...

ActionBar переход активностей
как сделать что бы при выборе элемента tab переходило на другую активность ...

Один поток - несколько активностей
Пытаюсь разобраться с блютузом. За основу взял пример BluetoothChat. Выполняю...

Один ActionBar дл всех активностей
Всем привет! Есть ActionBar который должен выглядеть одинаково для всех...

10
vxg
Модератор
3231 / 2034 / 319
Регистрация: 13.01.2012
Сообщений: 7,887
07.12.2016, 10:19 #2
TonyBicbaev, в OnCreate авторизации проверьте что вы авторизованы и если да завершите активити авторизации запустив активити навигации
0
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
07.12.2016, 10:44 #3
Если честно я всегда путаюсь в этих флагах для интентов(приходится идти в гугл)), я бы лучше добавил метод finish() после вызова startActivity, чтоб MainActivity не попадало в стек.
Насколько я понял, это то что хочет ТС.
0
TonyBicbaev
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 133
07.12.2016, 11:19  [ТС] #4
vxg, в общем я еще больше углубился в суть вопроса.
помогли вот эти два флага
Java
1
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
fraley, да finish() тоже вызывал бесполезно было)
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
07.12.2016, 12:09 #5
по идее было достаточно в MainActivity в манифесте добавить
XML
1
android:noHistory="true"
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
07.12.2016, 12:29 #6
Я бы ограничился одной активити, а авторизацию сделал бы в виде диалога.
0
TonyBicbaev
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 133
07.12.2016, 12:40  [ТС] #7
Паблито, это вместо флагов?) и в каждой активности прописать?)
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
07.12.2016, 12:46 #8
это вместо флагов
в той активности, которая не должна остаться в стеке
и на нее не получится вернуться по press back button
0
vxg
07.12.2016, 12:57
  #9

Не по теме:

Паблито, достаточно было бы оторвать руки разработчикам концепции поведения активностей

0
Pablito
07.12.2016, 12:58
  #10

Не по теме:

активити еще терпимо, а вот за фрагменты я бы пнул того, кто их придумал

0
TonyBicbaev
3 / 3 / 1
Регистрация: 04.11.2013
Сообщений: 133
07.12.2016, 13:08  [ТС] #11
Паблито, да хорошее решение спасибо.
Полностью с вами согласен, сложно со всем этим разобраться)
Цитата Сообщение от vxg Посмотреть сообщение
Не по теме:
Паблито, достаточно было бы оторвать руки разработчикам концепции поведения активностей
0
07.12.2016, 13:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2016, 13:08
Привет! Вот еще темы с решениями:

База данных и несколько активностей
У приложения есть БД, данные из которой нужно доставать и каким-то образом с...

Анимации открытия и закрытия активностей
Для анимации перехода между активностями использовал метод...

Сколько активностей может быть
Ребята я писал приложения, но использовал по минимуму активностей, тупо было...

Общая музыка для нескольких активностей
Приветствую, подскажите, можно ли сделать общий MediaPlayer для нескольких...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru