2010-08-26 5 views
3

У меня есть приложение, которое должно посылать периодический сердечный ритм на сервер, но когда телефон переходит в режим ожидания, поток сердцебиения сердца умирает. Есть ли в любом случае разбудить телефон в режиме ожидания, отправить пульс, а затем вернуться к программному программированию? Я хочу, чтобы избежать использования PARTIAL_WAKE_LOCK, если это возможно.Android - периодически просыпаться из режима ожидания?

Благодаря

+0

Зачем вам нужно посылать сердечный ритм во время сна? Это звучит как ужасная утечка батареи. –

+0

Похоже, вам нужно настроить службу вместо использования потока. – Hans

ответ

4

Есть в любом случае, чтобы разбудить телефон в режиме ожидания, отправить сердцебиение, а затем вернуться спать программно?

Использовать AlarmManager с _WAKEUP -системой сигнализации. Вот a sample project, иллюстрирующий его использование (вместе с WakefulIntentService вы захотите, чтобы устройство не заснуло во время ввода/вывода в сети).

Я хочу, чтобы избежать использования PARTIAL_WAKE_LOCK, если это возможно.

Вы не можете делать сетевой ввод-вывод без WakeLock, так как устройство будет засыпать во время ввода-вывода. Используя AlarmManager, вы можете организовать удержание только WakeLock во время работы с биением, а не в 100% случаев.