Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
#1

Не вызывается активность используя разный подход запуска Intent - Программирование Android

02.06.2013, 14:56. Просмотров 999. Ответов 19
Метки нет (Все метки)

У меня таким образом:

Java
1
2
startActivity(new Intent(getActivity(), MainActivity.class)); 
getActivity().finish();
код переходит на MainActivity.

а вот таким образом, не переходит:
Java
1
2
3
4
Intent intent = new Intent(getActivity(), MainActivity.class); 
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
                intent.putExtra("finish", true); 
                startActivity(intent)
;

почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 14:56     Не вызывается активность используя разный подход запуска Intent
Посмотрите здесь:
Android Starting: Intent { act=android.intent.action.MAIN. и пустой белый экран
Android Intent
Шаринг INTENT Android
Android Intent в конструкторе
Android Intent в Canvas
Timer \ Intent Android
Intent (image+text) Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 15:00     Не вызывается активность используя разный подход запуска Intent #2
Цитата Сообщение от Stylish2013 Посмотреть сообщение
Java
1
intent.putExtra("finish", true);
может это приводит к ее закрытию прежде чем вы ее увидите?
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 15:05  [ТС]     Не вызывается активность используя разный подход запуска Intent #3
Цитата Сообщение от V0v1k Посмотреть сообщение
может это приводит к ее закрытию прежде чем вы ее увидите?
может, а как это узнать? и что нужно изменить чтобы это не происходило?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 15:40     Не вызывается активность используя разный подход запуска Intent #4
Цитата Сообщение от Stylish2013 Посмотреть сообщение
может, а как это узнать? и что нужно изменить чтобы это не происходило?
смотрите свой код.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 16:28  [ТС]     Не вызывается активность используя разный подход запуска Intent #5
подебажив:

Интент перенаправляет на Main Activity. При переходе, строчка:
Java
1
protected void onCreate(Bundle savedInstanceState){
в ней savedInstanceState равно null

далее:
Java
1
        if (getIntent().getBooleanExtra("finish", false)) finish();
Лог таким образом Log.d(LOG_TAG, "oncreate"+(getIntent().getBooleanExtra("finish", false))); - выдает true.
но почему-то не закрывает ничего.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 16:36     Не вызывается активность используя разный подход запуска Intent #6
ну так MainActivity и закрывается.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 16:40  [ТС]     Не вызывается активность используя разный подход запуска Intent #7
Цитата Сообщение от V0v1k Посмотреть сообщение
ну так MainActivity и закрывается.
Так а должно же, быть что весь стек закроется а эта активность (MainActivity) запустится. Или я что-то не так понял?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 16:47     Не вызывается активность используя разный подход запуска Intent #8
этот код

Цитата Сообщение от Stylish2013 Посмотреть сообщение
if (getIntent().getBooleanExtra("finish", false)) finish();
закрывает MainActivity
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 16:50  [ТС]     Не вызывается активность используя разный подход запуска Intent #9
Я всё перепутал. Может скажbте как закрыть все что было открыто (активности, фрагменты) и запустить только MainActivity? Наверное это где-то рядом?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 16:55     Не вызывается активность используя разный подход запуска Intent #10
просто выбросьте этот код

Цитата Сообщение от Stylish2013 Посмотреть сообщение
if (getIntent().getBooleanExtra("finish", false)) finish();
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 16:59  [ТС]     Не вызывается активность используя разный подход запуска Intent #11
Цитата Сообщение от V0v1k Посмотреть сообщение
просто выбросьте этот код
таким образом он переходит на MainActivity, но при этом ничего не закрывает за собой
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 17:06     Не вызывается активность используя разный подход запуска Intent #12
Java
1
2
3
4
Intent intent = new Intent(getActivity(), MainActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);
finish();
и все должно закрываться...
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 17:13  [ТС]     Не вызывается активность используя разный подход запуска Intent #13
Цитата Сообщение от V0v1k Посмотреть сообщение
и все должно закрываться...
Переходит на новую активность, но почему-то при таком коде, по кнопке back промежуточное активити (TabActivity) остается.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 19:41     Не вызывается активность используя разный подход запуска Intent #14
попробуйте
Java
1
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 20:19  [ТС]     Не вызывается активность используя разный подход запуска Intent #15
Цитата Сообщение от V0v1k Посмотреть сообщение
попробуйте
тоже не закрывает. ( Может оно находится как-то в другом расположении в стеке и поэтому его не закрывает? или может в памяти хранится две копии? можно дважды вызвать закрытие всего?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 20:25     Не вызывается активность используя разный подход запуска Intent #16
не знаю, у меня работало, попробуйте просто не оставлять никаких активитей при переходах.
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 20:45  [ТС]     Не вызывается активность используя разный подход запуска Intent #17
Цитата Сообщение от V0v1k Посмотреть сообщение
не знаю, у меня работало, попробуйте просто не оставлять никаких активитей при переходах.
так ничего стараюсь не оставлять, прямиком всё делаю. Вошёл, добрался до кнопки которая должна запустить эту активность и всё нажимаю её. А прохожу я через ТабАктивити, нажимаю на одну вкладку-активность, она содержит фрагмент, а из этого фрагмента я уже запускаю новую активность, после которой ничего не должно остаться.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 20:56     Не вызывается активность используя разный подход запуска Intent #18
ну так закрывайте ТабАктивити при запуске новой активити из фрагмента. в чем проблема?
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 21:10  [ТС]     Не вызывается активность используя разный подход запуска Intent #19
Цитата Сообщение от V0v1k Посмотреть сообщение
ну так закрывайте ТабАктивити при запуске новой активити из фрагмента. в чем проблема?
Я бы с удовольствием, но мне нужно её закрыть только в том случае если пользователь нажмёт в фрагменте кнопку выхода (которая собственно и должна всё закрывать), а если он не нажмет? а решит выбрать другую кнопку или просто вернуться, а табАктивити то уже закрыта.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2013, 21:12     Не вызывается активность используя разный подход запуска Intent
Еще ссылки по теме:
Android Intent история переходов
Шаринг с помощью INTENT Android
Восстановление сервиса и Intent Android
Android Передать адаптер в Intent
Android Intent внутри Layout

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

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 21:12     Не вызывается активность используя разный подход запуска Intent #20
ну так открывайте ее заново при попытке к ней вернуться.
Yandex
Объявления
02.06.2013, 21:12     Не вызывается активность используя разный подход запуска Intent
Ответ Создать тему
Опции темы

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