Доступ к сети, когда телефон Android спит

Я использую комбинацию будильника (устанавливается с помощью AlarmManager) и фоновой службы для периодической синхронизации данных в моем приложении.

Единственная проблема, которая у меня есть, это то, что когда политика сна прерывает соединение Wi-Fi, синхронизация больше не работает.

Есть ли способ «разбудить» соединение Wi-Fi, которое было переведено в спящий режим? GMail каким-то образом это удается, потому что он уведомляет меня о новой электронной почте, даже если телефон перешел в спящий режим.


person Marek Stój    schedule 21.03.2010    source источник


Ответы (1)


[обновление] Вы можете использовать WifiLock, чтобы Wi-Fi оставался активным, удерживая блокировку.

Использование AlarmManager и Service говорит мне, что ваша служба работает только в течение очень короткого времени!? Я думаю (хотя не могу сказать наверняка), что вы должны сделать свою службу службой переднего плана (посмотрите в блоге хороший способ реализовать это как на 1.x, так и на 2.x+) и не использовать AlarmManager.

person MrSnowflake    schedule 21.03.2010
comment
Интересно. Я не знал об этих службах переднего плана. Однако решит ли это мою проблему с приостановленным соединением Wi-Fi? - person Marek Stój; 21.03.2010
comment
Я знаю о WifiLock, но это не решает проблему. Мое приложение должно было бы получить эту блокировку и сохранять ее на неопределенный срок. Я бы предпочел просто разбудить соединение, когда мое приложение хочет синхронизироваться. В любом случае, думаю, оставлю как есть. Если пользователь устанавливает такую ​​политику сна, он должен знать, что синхронизация не будет работать. - person Marek Stój; 22.03.2010