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

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

Войти
Регистрация
Восстановить пароль
 
Ametistos
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 37
#1

Как заставить Activity оставаться открытой, пока в ней отображается диалог? - Программирование Android

24.04.2014, 16:37. Просмотров 630. Ответов 4
Метки нет (Все метки)

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

Проблема в том что иногда интент приходят буквально за пол секунды до того как активити будет закрыта (например пользователь нажал бэк баттон), при этом диалог пропадает вместе с активити.

Вопрос как запретить закрытие активити если в ней отображается диалог?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2014, 16:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как заставить Activity оставаться открытой, пока в ней отображается диалог? (Программирование Android):

Fragment не отображается на Activity - Программирование Android
Здравствуйте! Помогите, пожалуйста, разобраться. Суть такая: пользователь проходит упражнение по переводу слова на другой язык, т.е....

Как вызвать Activity не из Activity? - Программирование Android
Приложение перехватываем входящие СМС. Есть класс унаследованный от BroadcastReceiver, который обозначен в манифесте как приемник...

Как заставить оставаться на экране? - Assembler
Как сделать так чтобы после ввода степени(программа возводит 2 в n-степень) и нажатия клавиши сразу появлялся результат...Так он...

Как заставить часть кода оставаться всегда на верху? - HTML, CSS
Есть код навигационных кнопок на самом верху страницы, надо чтобы они оставались всегда видимыми при прокрутке страницы вниз. На подобии...

Как заставить компоненты оставаться на местах при изменении размеров формы? - Delphi
у меня на форме DbGrid а под ней несколько кнопок. Как мне сделать так чтоб размеры формы можно было менять(на полный экран, оконный режим,...

Как заставить Total Commander выйти из открытой папки? - Visual Basic .NET
Задача следующая: необходимо переименовать папку открытую в Total Commander. Через FileSystem.RenameDirectory не получается. Думал...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
YuraAAA
1571 / 1313 / 270
Регистрация: 25.10.2009
Сообщений: 3,432
Записей в блоге: 2
24.04.2014, 18:02 #2
Ametistos, попробуйте переопределить onBackPress метод. Но всё равно это не гарантия. Это защитит только от back нажатия. (super.onBackPress определяет поведение)
Ametistos
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 37
24.04.2014, 18:07  [ТС] #3
Активити может закрыться и по другой причине. Так что это действительно не панацея. Я думал переопределить метод finish(), вопрос в том как определить что у меня в активити в данный момент открыт диалог?
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
24.04.2014, 18:10 #4
вы не сможете держать все время открытой активити, кнопке home безразлично абсолютно что у вас переопределено )
Ametistos
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 37
25.04.2014, 14:27  [ТС] #5
Это понятно, тогда все приложение уйдет в фон - это нормально. Но случаются ситуации когда верхняя активити в стеке закрывается вместе с диалогом в следствии чего пользователь может диалог не увидеть, хотя он и остается в приложении.

Должно же быть какое то стандартное решение, например как в винде если появился какой то важный диалог - окно приложения которое его "породило" не закроешь пока на диалоге "ок" не нажмешь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2014, 14:27
Привет! Вот еще темы с ответами:

Создается окно и тут же закрывается. Как заставить окно оставаться рабочим открытым? - C++ WinAPI
Как заставить окно оставаться рабочим открытым? Скопировал с одного исходника код (с++ WinApi) для создания окна. И оно сразу...

можно ли сайт сделанный на ajax заставить при обновлении оставаться в текущем разделе? - jQuery
Суть такова, что есть страница сайта "Главная" в ней кнопка обратная связь, далее идёт скрытый изначально блок обратной связи, При клике на...

Как сделать так, чтобы нельзя было ничего делать с главным фреймом, пока открыт диалог? - Java
Доброго дня. Я новичок в программировании. Пишу крестики-нолики. Допустим, игрок выигрывает, открывается диалог (результат, новая игра - да...

Как заставить один поток ждать, пока работает другой - C#
Здравствуйте, стоит такая задача: есть public static bool forks = new bool;// false - свободна public void takeFirstSpoon(int...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.04.2014, 14:27
Ответ Создать тему
Опции темы

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