Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Тамика
Котовчанин
918 / 462 / 195
Регистрация: 16.02.2010
Сообщений: 3,264
Записей в блоге: 31
#1

Не работает приложение после нажатия кнопки home

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

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

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

Вывод изображения после нажатия кнопки
Можно ли вывести изображение на главный layout, после нажатия кнопки, которая...

Как восстановить значения при открытии приложения после нажатия кнопки назад
Как гарантированно вызвать onSaveInstanceState. Столкнулся с такой ситуацией....

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

Событие нажатия на кнопку home
я хочу по нажатию на среднию кнопку там где нарисован домик вывести сообщение ...

21
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
21.01.2015, 14:09 #2
Попробуйте перенести обработку тача в onResume().
1
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
21.01.2015, 14:42 #3
Тамика, здравствуй! Честно говоря, не знаю, что там да как, кода не видел.
В LogCat ошибок нет?
Возможно, уничтожилась и пересоздалась MainActivity, а вслед за ней перестали работать какие-то события. Либо, если вы используете какие-то другие классы, они пытаются обращаться к той MainActivity, которой уже нет.
Поэтому в onResume нужно будет переписать создание объектов.
1
Тамика
Котовчанин
918 / 462 / 195
Регистрация: 16.02.2010
Сообщений: 3,264
Записей в блоге: 31
21.01.2015, 15:24  [ТС] #4
CoolMind, Spelcrawler, спасибо большое за ответы!
Есть одно но... Это проектная демка и все действия проходят в другом классе. Нельзя их в класс Активити перетаскивать.

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

Добавлено через 3 минуты
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Вообще не реагирует или после сворачивания?
только после сворачивания.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
21.01.2015, 16:21 #11
Цитата Сообщение от Тамика Посмотреть сообщение
Или onResume() будет дёргаться
Должен насколько помню)
0
Тамика
Котовчанин
918 / 462 / 195
Регистрация: 16.02.2010
Сообщений: 3,264
Записей в блоге: 31
21.01.2015, 16:36  [ТС] #12
Spelcrawler, не помогает.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
21.01.2015, 16:39 #13
Тогда без кода ничего не придумать
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
21.01.2015, 16:50 #14
Тамика, тогда надо смотреть в отладчике, выполняются ли события.
А лучше напишите в нужных местах Log.i("*******", "здесь должно делаться то-то");
затем расставьте их по нужным местам кода и смотрите, какие куски кода после возвращения работают, а какие - нет и почему. Как я полагаю, уничтожен контекст активности, и надо заново привязывать ваш класс SampleMainClass к нужному контексту.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
21.01.2015, 17:08 #15
Цитата Сообщение от CoolMind Посмотреть сообщение
Как я полагаю, уничтожен контекст активности
Это вообще как? Вижу только один вариант развития событий чтобы такое стало возможным - какой-то статичный экзмепляр класса, который при создании активити проверяется на null, и только если он равен null создается новый экзампляр. Но зачем такое делать?)

Добавлено через 47 секунд
И к тому же в таком случае приложение бы падало с NullPointerException.
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.01.2015, 17:23 #16
Камрады, не ссорьтесь, я вот вообще серьёзно щитаю, что ошибка в строке номер 35 во втором классе
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
21.01.2015, 17:25 #17
Armagedo, а кто ссориться? Просто интересно как может у каких-то объектов проинициализированных в onResume пропасть контекст?)
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
21.01.2015, 17:29 #18
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Это вообще как?
Вы не работали с ресурсоёмкими приложениями. Всё может быть и запросто. Но это было просто предположение, мне важно проверить результат.
Цитата Сообщение от Spelcrawler Посмотреть сообщение
И к тому же в таком случае приложение бы падало с NullPointerException.
И тоже не всегда (как мне кажется).
Я склонен считать, что теряется контекст.
0
Armagedo
21.01.2015, 17:33
  #19

Не по теме:

Всё...ща начнётся :D

0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
21.01.2015, 17:36 #20
Цитата Сообщение от CoolMind Посмотреть сообщение
Вы не работали с ресурсоёмкими приложениями. Всё может быть и запросто.
Такое может быть если активити не активна и выполняется какой-то фоновый процесс, которому нужен контекст этой активити. В таком случае - да, активити из памяти выгрузиться, а вот то что из нее запустилось работает, но уже без контекста, но опять же в таком случае приложение упадет сразу же как только попробует обратиться к выгруженным из памяти данным. А вот уж если активити запустилась, да еще и все проинициализировалось заново (т.к. все в onResume вынесено) не возможно в этом случае "потерять" контекст, ну никак просто) Активити на переднем плане - она существует, а т.к. она наследуется от класса Context, соответственно она сама себе контекст и его не может не быть.
0
21.01.2015, 17:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2015, 17:36

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

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

Обработка кнопки home
Добрый вечер, как мне обработать случай, когда пользователь нажимает кнопку...


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

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

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