powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Сервисы в андройд
10 сообщений из 10, страница 1 из 1
Сервисы в андройд
    #39107188
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение должно выдавать напоминание при достижении человеком заданных ранее gps координат.
Все вроде бы работает, но есть моменты которые хотелось бы улучшить, прошу помощи.
Итак. Есть БД, в которой сохраняются текст напоминания и координаты. При добавлении очередного напоминания стартует сервис

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
inidAlarm = db.addRec(note1, date, time, stTypeNotif, stEI, 4, (int) Interval, doLat, doLon);

Log.d("myLogs","Notification");
Intent intent2;
intent2 = new Intent(this, WatchLocationService.class);
intent2.putExtra("myNote", note1);
intent2.putExtra("myAlarmID", inidAlarm);
intent2.putExtra("lat",doLat);
intent2.putExtra("lon",doLon);
startService(intent2);



в сервисе в onStartCommand делаем запросы на обновление координат

Код: java
1.
2.
locationManager1.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000 * 3, 5, locationListener);
        locationManager1.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000 * 3, 5,locationListener);



в locationListener, идет проверка на достижение заданных координат, используя метод google api distanceTo.

если задать точку на карте недалеко от фактического присутствия, и достаточно быстро до нее добраться напоминание срабатывает.
если же например точка достигается спустя например часов 5 напоминание не срабатывает.

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

Правильно ли я понимаю, что при запуске сервиса, он работает со своим intent'ом? и будет висеть в памяти до тех пор пока не будет остановлен stopservice? (опция для перезапуска сервиса START_REDELIVER_INTENT установлена)
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39107210
korshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://developer.android.com/intl/ru/guide/components/services.html - здесь найдешь ответы на все вопросы.
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39108586
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
korshun,

спасибо, за ссылку, перечитал еще вот это http://www.startandroid.ru/ru/uroki/vse-uroki-spiskom/159-urok-94-service-podrobno-pro-onstartcommand.html

теперь поведение приложения более или менее понятно.

когда проходит длительное время в настройках приложений вижу картинку <Имя сервиса> процессов: 0, служб: 0 Перезапуск.
Т.е. я так подозреваю что просто у системы не хватает ресурсов для перезапуска моего сервиса.

Попробовал провести тест. Запустил приложение, сервис стартанул. В настройках приложения нашел свой сервис (<Имя сервиса> процессов: 1, служб: 1), остановил его вручную и он почему то не перезапустился или не должен был? Напомню, что устнаовлена опция START_REDELIVER_INTENT.

Почему сервис не перезапустился после ручной остановки??
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39108673
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример как создать "бессмертный сервис" тут http://development-for-android.blogspot.ru/2012/01/blog-post_3068.html
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39108888
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompпример как создать "бессмертный сервис" тут http://development-for-android.blogspot.ru/2012/01/blog-post_3068.html

это понятно, только в этом случае нужно будет позаботится об его "убивании"
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39108902
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас попробовал реализовать код по этому примеру, сначала получилось создать сервис неубиваемым, но через некоторое время система как-то сама удалила мое приложение вместе со всеми сервисами убиваемыми и нет )). пока даже не понял как это произошло, продолжу тестировать.

Может ли система при нехватки ресурсов и при условии что сервис сделан "бессмертным" удалить приложение?
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39108927
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompсейчас попробовал реализовать код по этому примеру, сначала получилось создать сервис неубиваемым, но через некоторое время система как-то сама удалила мое приложение вместе со всеми сервисами убиваемыми и нет )). пока даже не понял как это произошло, продолжу тестировать.

Может ли система при нехватки ресурсов и при условии что сервис сделан "бессмертным" удалить приложение?


удалить, или приостановить ?

да даже бессмертный сервис убьет.
вся фишка в приоритете, чем "выше" ваш сервис в списке, тем позже его система убьет при нехватке ресурсов
как правило в фореграунд сервисы выше обычных находятся, системные сервисы в самом верху.

но на моей практике, фореграунд сервисы достаточно живуче, даже если другие приложения уже выгружены.
сервис работает.

не рассматриваю совсем древние устройства, где все похуже с этим.
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39109025
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джибс,

именно удалить, может конечно глюк на телефоне случился, пока больше такого не повторялось.
android 4.0.3
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39109864
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikompДжибс,

именно удалить, может конечно глюк на телефоне случился, пока больше такого не повторялось.
android 4.0.3

больше на глюк похоже.

так как удалить по идее не может.
...
Рейтинг: 0 / 0
Сервисы в андройд
    #39111153
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал сервис foreground, почистил систему от ненужных прог (освободил ресурсы) ошибка пока не повторяется
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Сервисы в андройд
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]