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

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

Войти
Регистрация
Восстановить пароль
 
 
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
#1

Не работает приложение после нажатия кнопки home - Программирование Android

21.01.2015, 13:54. Просмотров 1157. Ответов 21
Метки нет (Все метки)

Добрый день, дорогие форумчане.
Волнует такой вопрос - написала приложение под android(intelij idea), запускаю на девайсе. Всё работает(вдруг пригодится - приложение по тачу обрезает часть картинки).
Нажимаю кнопку home. Потом снова открываю приложение(из меню мультивиндоу), оно не работает. То есть, открывается, но реакции на тач уже нет.
Подскажите, пожалуйста, в чём может быть причина?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2015, 13:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает приложение после нажатия кнопки home (Программирование Android):

Повторное воспроизведение музыки после кнопки home (media-player) - Программирование Android
Собственно, погуглил, и нашел, что у всех обратная проблема - "как остановить музыку, если нажата кнопка home". У меня такой проблемы нет,...

Вывод изображения после нажатия кнопки - Программирование Android
Можно ли вывести изображение на главный layout, после нажатия кнопки, которая расположена на нём? По нажатию первой кнопки должно...

Как восстановить значения при открытии приложения после нажатия кнопки назад - Программирование Android
Как гарантированно вызвать onSaveInstanceState. Столкнулся с такой ситуацией. Сохраняю значения для перезагрузки приложения. Если телефон...

Определить нажатие кнопки Home и кнопки сворачивания приложения - Программирование Android
По аналогии с backPressed: @Override public void onBackPressed() { }

Событие нажатия на кнопку home - Программирование Android
я хочу по нажатию на среднию кнопку там где нарисован домик вывести сообщение @Override public boolean onKeyDown(int keyCode,...

Как программно убрать клавиатуру после нажатия кнопки "Далее"? - Программирование Android
Здравствуйте, уважаемые форумчане. Я недавно начал изучать android и столкнулся со следующей проблемой: я сделал поле ввода, и после ввода...

21
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.01.2015, 14:09 #2
Попробуйте перенести обработку тача в onResume().
1
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
21.01.2015, 14:42 #3
Тамика, здравствуй! Честно говоря, не знаю, что там да как, кода не видел.
В LogCat ошибок нет?
Возможно, уничтожилась и пересоздалась MainActivity, а вслед за ней перестали работать какие-то события. Либо, если вы используете какие-то другие классы, они пытаются обращаться к той MainActivity, которой уже нет.
Поэтому в onResume нужно будет переписать создание объектов.
1
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
21.01.2015, 15:24  [ТС] #4
CoolMind, Spelcrawler, спасибо большое за ответы!
Есть одно но... Это проектная демка и все действия проходят в другом классе. Нельзя их в класс Активити перетаскивать.

Добавлено через 32 секунды
CoolMind, в логкате ошибок нет, первый раз хорошо запускается, работает. А вот потом...
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.01.2015, 15:35 #5
Цитата Сообщение от Тамика Посмотреть сообщение
Нельзя их в класс Активити перетаскивать
А зачем их перетаскивать? Вы ведь где-то в активити, вешаете, куда-то onTouchListener()? И скорее всего это у вас происходит в onCreate(), если перенести это в onResume() должно работать после сворачивания.
1
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
21.01.2015, 15:43  [ТС] #6
Spelcrawler, перенесла...
Caused by: android.app.SuperNotCalledException: Activity {scissorrect.SampleMainClass} did not call through to super.onResume()
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.01.2015, 15:45 #7
Добавьте в метод onResume() в самом начале строку
Цитата Сообщение от Тамика Посмотреть сообщение
super.onResume()
1
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
21.01.2015, 15:53  [ТС] #8
Spelcrawler, уже не падает.
Но так же не реагирует на тач...
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.01.2015, 15:55 #9
Вообще не реагирует или после сворачивания? Попробуйте вообще все из onCreate перенести в onResume(), если после этого будет работать - значит сейчас перенесли не то или не все.
0
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
21.01.2015, 16:01  [ТС] #10
Spelcrawler, сейчас попробую. Но сразу вопрос - если я всё перенесу в резьюм из onCreate(), то как этот код выполнится при первом запуске? Или onResume() будет дёргаться?..
з.ы. я недавно начала программировать, потому не сердитесь за глупые вопросы...

Добавлено через 3 минуты
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Вообще не реагирует или после сворачивания?
только после сворачивания.
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.01.2015, 16:21 #11
Цитата Сообщение от Тамика Посмотреть сообщение
Или onResume() будет дёргаться
Должен насколько помню)
0
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
21.01.2015, 16:36  [ТС] #12
Spelcrawler, не помогает.
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.01.2015, 16:39 #13
Тогда без кода ничего не придумать
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
21.01.2015, 16:50 #14
Тамика, тогда надо смотреть в отладчике, выполняются ли события.
А лучше напишите в нужных местах Log.i("*******", "здесь должно делаться то-то");
затем расставьте их по нужным местам кода и смотрите, какие куски кода после возвращения работают, а какие - нет и почему. Как я полагаю, уничтожен контекст активности, и надо заново привязывать ваш класс SampleMainClass к нужному контексту.
0
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
21.01.2015, 17:08 #15
Цитата Сообщение от CoolMind Посмотреть сообщение
Как я полагаю, уничтожен контекст активности
Это вообще как? Вижу только один вариант развития событий чтобы такое стало возможным - какой-то статичный экзмепляр класса, который при создании активити проверяется на null, и только если он равен null создается новый экзампляр. Но зачем такое делать?)

Добавлено через 47 секунд
И к тому же в таком случае приложение бы падало с NullPointerException.
0
21.01.2015, 17:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2015, 17:08
Привет! Вот еще темы с ответами:

Обработчик кнопки не работает - приложение компилируется, но крашится при запуске - Программирование Android
Всем привет! Собственно, проблема: у меня получилось сделать udp-listener за пару вечеров - слава яйцам! Теперь я захотел добавить...

Переопределение кнопки Home - Программирование Android
Как переопределить кнопку HomeButton? assert getSupportActionBar() != null; action_bar = getSupportActionBar(); ...

Отловить нажатие кнопки Home - Программирование Android
Всем привет! Как отловить нажатие кнопки Home. В onKeyDown не получается.... Какие ещё варианты?

Отслеживание нажатия кнопки - Программирование Android
В приложении присутствует две кнопки и один долгий цикл. Нужно ли отслеживать нажатие кнопки при выполнении цикла или андроид сам прервет...


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

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

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