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

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

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

Запуск Activiry из Service - Программирование Android

18.12.2013, 03:28. Просмотров 1229. Ответов 4
Метки нет (Все метки)

Как запустить activity из сервиса так, чтобы при этом на фоне не показывалось основное приложение (которое рождает сервис)

Наверное непонятно, объясню подробнее. Имеется сервис. По определенному событию он должен выводить popup окошко с заданным содержимым (картинка, кнопка):

Java
1
2
3
                            Intent popupIntent = new Intent(this, PopupActivity.class);
                            popupIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                            startActivity(popupIntent);
Этот активити имеет форму диалога, что указанно AndroidManifest
XML
1
2
3
4
        <activity
            android:name=".PopupActivity"
            android:theme="@android:style/Theme.Dialog">
        </activity>
Кроме этой активити имеется еще основная активити приложения с этим сервисом.

Так вот, если событие наступает, и приложение это было запущен недавно, то выходит popup но и вместе с ним переключается на Activity этого приложения на заднем фоне. Хотелось бы этого избежать. Если выкинуть из памяти это приложение, такого не происходит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 03:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запуск Activiry из Service (Программирование Android):

Запуск activity из service - Программирование Android
Добрый вечер! Как правильно запускать активность из сервиса? Метод startActivity(new Intent(this,MyActivity.class)); не работает,...

Service - Программирование Android
Как создать приложение как Service?

SQLite в Service - Программирование Android
Всем привет! Коллеги, возможно ли подключаться к базе и выполнять с ней все действия из Сервиса. Активити у меня нет, в программе 3...

SQLite из Service - Программирование Android
Здравствуйте, у меня такой вопрос. Уже бьюсь 2 дня, ни как не могу сделать. Может вы мне поможете советом, а лучше примером. Как...

Работа с Service - Программирование Android
Всем добрый вечер! Есть приложение под андроид. С активити, с интерфейсом, всё как нужно. Теперь потребовалось сделать из него фоновое...

Автозагрузка Service - Программирование Android
Привет, люди! Давно бьюсь с автозапуском сервисов. Скиньте, пожалуйста РАБОЧИЙ пример сего действа, иначе я вообще никогда так и не...

4
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
18.12.2013, 10:27 #2
А просто закрыть активити (которая на заднем фоне) не получается?
0
angryrobot
Командир зеленых роботов
348 / 285 / 53
Регистрация: 08.10.2013
Сообщений: 565
18.12.2013, 10:56 #3
Цитата Сообщение от GukZiLLA Посмотреть сообщение
А просто закрыть активити (которая на заднем фоне) не получается?
Или перед появлением диалога менять тему фоновой активити на "Theme.NoDisplay".
p.s. сам не проверял, не могу ничего гарантировать.
0
RafaelRS
1 / 1 / 0
Регистрация: 18.11.2013
Сообщений: 18
18.12.2013, 11:55  [ТС] #4
Цитата Сообщение от GukZiLLA Посмотреть сообщение
А просто закрыть активити (которая на заднем фоне) не получается?
Каким образом? Ну в смысле я же в сервисе. Через какой объект мне добраться до той активити?
0
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
18.12.2013, 12:24 #5
Цитата Сообщение от RafaelRS Посмотреть сообщение
Каким образом? Ну в смысле я же в сервисе. Через какой объект мне добраться до той активити?
Вообще метод принудительного закрытия мне кажется каким-то корявым и костыльным.

Но можно создать статическую ссылку на активити в классе, который надо закрыть

Java
1
2
3
4
5
6
7
static Activity ac;
 
// в onCreate пишите
ac = this;
 
// а потом после интента делаете так
if(MyClass.ac != null) MyClass.ac.finish();
0
18.12.2013, 12:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 12:24
Привет! Вот еще темы с ответами:

GPS service - Программирование Android
Написал сервис для работы GPS однако при попытке вытащить данные просто выдаёт 0 класс реализующий работу c GPS: package...

Fragments и service - Программирование Android
такой вопрос как реализовать запуск сервиса и обработку результатов приложении где есть fragments.? хотелось бы запускать сервис в...

App Service - Программирование Android
Возможно ли как-то создать приложение, которое запускает сервис и при этом, если в дальнейшем удалить само приложение, то сервис останется...

A Windows service with the name MySQL already exists. Please uninstall this service correctly or choose a different name for the new service. - MySQL
Не знаю что делать дальше


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

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

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