Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

02.06.2013, 14:56. Просмотров 1102. Ответов 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)
;

почему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 14:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не вызывается активность используя разный подход запуска Intent (Программирование Android):

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] - Программирование Android
Выдает такую ошибку, хотя смартфон видит, он разрешает отладку, при запуске выдает такое сообщение, на самом экране смартфона при заходе в...

Starting: Intent { act=android.intent.action.MAIN. и пустой белый экран - Программирование Android
При запуске приложения всё заканчивается на Starting: Intent { act=android.intent.action.MAIN cat= cmp=com.example.lab2/.MainActivity } ...

Разный результат запуска программы через автозагрузку и вручную - C++ WinAPI
И снова здравствуйте. На последнем этапе работы возникла очередная проблема, ответ на которую я не могу найти. есть две программы 1 и...

Можно ли это сделать используя асинхронный подход? - Python
Есть список ссылок. Нужно получить содержимое каждой ссылки. Напрашиваются треды, потоки. Можно ли ускорения добиться с помощью...

Графика: Нарисовать визитку, используя разный шрифт, цвет и направление текста. - Turbo Pascal
1. Нарисовать визитку.использовать разный шрифт, цвет и направление текста. 2. Написать программу которая спрашивает у пользователя какую...

Окно настройки принтера не вызывается через меню, но вызывается по кнопке - Delphi
Доброго времени суток. Помогите разобраться. Подключаю к программе принтер, начал с вывода окна настроек принтера. Не могу понять, создал в...

19
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 15:00 #2
Цитата Сообщение от Stylish2013 Посмотреть сообщение
Java
1
intent.putExtra("finish", true);
может это приводит к ее закрытию прежде чем вы ее увидите?
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 15:05  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
может это приводит к ее закрытию прежде чем вы ее увидите?
может, а как это узнать? и что нужно изменить чтобы это не происходило?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 15:40 #4
Цитата Сообщение от Stylish2013 Посмотреть сообщение
может, а как это узнать? и что нужно изменить чтобы это не происходило?
смотрите свой код.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 16:28  [ТС] #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.
но почему-то не закрывает ничего.
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 16:36 #6
ну так MainActivity и закрывается.
0
Stylish2013
7 / 7 / 1
Регистрация: 20.04.2013
Сообщений: 666
02.06.2013, 16:40  [ТС] #7
Цитата Сообщение от V0v1k Посмотреть сообщение
ну так MainActivity и закрывается.
Так а должно же, быть что весь стек закроется а эта активность (MainActivity) запустится. Или я что-то не так понял?
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
02.06.2013, 16:47 #8
этот код

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

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

При создании класса конструктор вызывается 2 раза, затем вызывается деструктор о_О - C++
Вот такой кодclass A { public: A(){} virtual ~A(){} }; class C { public:

Запрет запуска диспетчера задач, используя реестр - Visual Basic .NET
Здравствуйте. Как запретить вызов диспетчера задач,либо отключить используя реестр?

Intent - Программирование Android
Доброе утро. Помогите с одним вопросом. Как из модального окна, когда нажимаешь на кнопку "Ок", сделать так чтобы при переходе на...

Timer \ Intent - Программирование Android
Доброй ночи. При запуске StartActivity через 3 сек должно открыться MainActivity, оно то работает , но только один раз при перезапуске...


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

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

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