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

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

Войти
Регистрация
Восстановить пароль
 
zoleg
16 / 16 / 1
Регистрация: 10.01.2012
Сообщений: 163
#1

Поиск и завершение всех Service программы - Программирование Android

15.10.2015, 13:45. Просмотров 162. Ответов 2
Метки нет (Все метки)

Как убить все сервисы при выходе?

У меня прога запускает в ходе работы четыре сервиса которые следят друг за другом и в случаи падения одного поднимают друг друга. Это GPS с обновлением по времени, GPS с обновлением по расстоянию, одометр работающий от них, контролер который занимается открытием активити и фрагментов по командам от сервисов.

Все они работают в бэкграунде даже при выходе из проги. В итоге даже если прога закрыта, все равно контролер открывает акитити по командам сервиса и прога снова "взетает". Наконец добрался до финала и осталось только забадяжить закрытие проги.


Подскажите как правильно пометить при старте запускаемые сервисы, чтоб потом их оптом позакрывать при выходе из проги или перебрать ID сервисов с целью килернуть их, или другие варианты - в общем- как правильно убивать?.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2015, 13:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск и завершение всех Service программы (Программирование Android):

Коректное завершение программы - Программирование Android
Есть главное activity, которое запускает сервис. Сервис выполняет длительную операцию. При нажатии Back приложение сворачивается, сервис...

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

При попытке открыть второй и третий Activity происходит завершение работы программы - Программирование Android
Подскажите где ошибка. В программирование андроида пару дней. При попытке открыть второй и третий Activity происходит завершение работы...

Завершение программы после обработки всех событий - C++ Qt
У меня программа после закрытия, завершается не обработав все события, которые находятся в очереди, а мне нужно, чтобы все события...

Определить завершение всех потоков на всех контролах - C#
Здравствуйте. У меня есть приложение, в нём множество пользовательских контролов. На каждом контроле есть один или несколько потоков...

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

2
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
15.10.2015, 13:53 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
zoleg,

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class ServicesHolder {
 
    private static final Set<Class<? extends Service>> services = new HashSet<>();
 
    public static void addServices(Class<? extends Service>... sc) {
        Collections.addAll(services, sc);
    }
 
    public void stopAll(Context context) {
        if (context == null) return;
        for (Class<? extends Service> service : services) {
            context.stopService(new Intent(context, service));
        }
    }
 
}
При старте вызываем addServices, при остановке приложения stopAll
1
zoleg
16 / 16 / 1
Регистрация: 10.01.2012
Сообщений: 163
15.10.2015, 17:08  [ТС] #3
Спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2015, 17:08
Привет! Вот еще темы с ответами:

.NET 4.x IntelliTrace остается в процессах после закрытия программы. Правильное завершение программы? - C# WPF
Много (очень много) раз запускал программу, закрывал через крестик. Вдруг винда сообщает, что виртуальная память вся забита (8к). Открываю...

Как улучшить следующий код программы? Поиск всех простых чисел до 1000 - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; int main() { std::size_t size = 1000; bool *simpleArray = new bool (); ...

Завершение всех функций одной командой - C++ Builder
Вопрос может показаться странным :) Есть у меня решение Судоку на Билдере, честно написанное на кривом С++. Работает хорошо, но смущает...

Завершение всех потоков, наследуемых от QThread - C++ Qt
Есть класс ProcessThread, унаследованный от QThread, с перегруженным методом run(). У данного класса есть некоторое число экземпляров. И...


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

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

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