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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 245
#1

Остановка службы - Android

13.04.2013, 15:52. Просмотров 1880. Ответов 7
Метки нет (Все метки)

Служба может быть остановлена системой по разным причинам: нехватка памяти, режим экономии энергии...
А можно ли запретить остановку службы ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
13.04.2013, 16:25     Остановка службы #2
можно повысить приоритет стартуюя сервис как startForeground, запретить помоему нельзя. но можно дапустим использовать alarm manager который будет по расписанию постоянно поднимать ваш сервис если тот упал
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 245
13.04.2013, 16:30  [ТС]     Остановка службы #3
Цитата Сообщение от YAUHEN Посмотреть сообщение
можно повысить приоритет стартуюя сервис как startForeground, запретить помоему нельзя.
Вмусто startService ? Что-то я не знал, что так можно запускать службу.

Цитата Сообщение от YAUHEN Посмотреть сообщение
но можно дапустим использовать alarm manager который будет по расписанию постоянно поднимать ваш сервис если тот упал
Это как ? Можно примерчик ?

Добавлено через 3 минуты
И еще - можно ли будет при startForeground посылать всякие notification и т.д.
То есть какие ограничения ?
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
13.04.2013, 21:51     Остановка службы #4
Цитата Сообщение от xbarmaglot Посмотреть сообщение
Это как ? Можно примерчик ?
Код
\sdk\samples\android-17\ApiDemos\src\com\example\android\apis\app\AlarmController.java
\sdk\samples\android-17\ApiDemos\src\com\example\android\apis\app\AlarmService.java
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 245
13.04.2013, 22:37  [ТС]     Остановка службы #5
c4sp3r, тут запуск alarm manager из под GUI происходит.
Если я это сделаю в службе, а система ее остановит, то и alarm manager для службы будет остановлен
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
13.04.2013, 22:43     Остановка службы #6
http://developer.android.com/referen...l#START_STICKY
внимательно прочитайте
про START_STICKY
может поможет
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 245
13.04.2013, 22:49  [ТС]     Остановка службы #7
Цитата Сообщение от flashok Посмотреть сообщение
http://developer.android.com/referen...l#START_STICKY
внимательно прочитайте
про START_STICKY
может поможет
я и запускаю с этим значением. Но система периодически останавливает службу.

Добавлено через 3 минуты
Я это отслеживаю по логам.
У меня есть потоки, которые засыпают на длительное время и просыпаясь делают нужную работу.
Так вот они не регулярно просыпаются. Складывается впечатление, что система прибивает сервис и потоки вместе с ним.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 23:03     Остановка службы
Еще ссылки по теме:

Остановка выполнения таймера (CountDownTimer) из другого класса Android
Android Остановка / воспроизведение аудио
Android Остановка анимации
Android Не работает остановка потока!
Остановка потока Android

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

Или воспользуйтесь поиском по форуму:
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
13.04.2013, 23:03     Остановка службы #8
xbarmaglot, ну я же не говорил что нужно все тупо копипастить.


Java
1
2
3
4
5
/**
 * This demonstrates how you can schedule an alarm that causes a service to
 * be started.  This is useful when you want to schedule alarms that initiate
 * long-running operations, such as retrieving recent e-mails.
 */
Цитата Сообщение от xbarmaglot Посмотреть сообщение
Если я это сделаю в службе, а система ее остановит, то и alarm manager для службы будет остановлен
Нет! У alarm manager свой lifecycle. Ты лишь делаешь запись в какое время что-то должно произойти например запустить твой сервис или активити с его помощью можно вообще сделать чтобы если вдруг твой сервис пользователь прибил или перезагрузил телефон он снова запустился при наличии соответствующих прав и только удалив или отменив расписание можно будет остановить твой сервис. Если ты cron или task schedule использовал то это похожая система.
Yandex
Объявления
13.04.2013, 23:03     Остановка службы
Ответ Создать тему
Опции темы

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