@Grirory
программер

Android, Xamarin и «засыпание» приложения?

Здравствуйте!
Пишу свое первое приложение под android с использованием xamarin, и столкнулся с проблемой, которая поставила меня в тупик. В общих чертах проблема в следующем, архитектурно, в составе приложения есть служба, которая призвана периодически запрашивать с сервера некоторую информацию. Но если приложение свернуть и выключить экран телефона, запросы на сервер перестают идти. Если я включаю экран или просто ставлю телефон на зарядку, отправка запросов возобновляется. Подозреваю, что дело в политике энергопотребления, и возможно проблему можно решить дополнительным контролем PowerManager, или возможно при выключении экрана выключается и gprs и его нужно самостоятельно включать, а возможно можно обойтись подключением какого-нибудь манифеста ...
Подскажите пожалуйста, в чем может быть проблема, буду благодарен за любые мысли по теме :)

p.s. тестировал на android версии 2.3.5 и 4.2.2.
  • Вопрос задан
  • 3520 просмотров
Решения вопроса 1
andreich
@andreich
Вам нужно запускать сервис с помощью связки AlarmManager и BroadcastReceiver.
В AlarmManager нужно подписаться, чтобы он вызывал BroadcastReceiver с определенной периодичностью, последний же должен стартовать service.
Собственно таким образом вы должны избавиться от проблемы, а так же service не будет попусту висеть в памяти, если его убивать каждый раз, как он отработает.
Я не знаю, как это сделать в xamarin, так как пишу на java, но это должно работать и там.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы