Спящий телефон Android C2DM

Согласно этот Android C2DM поддерживает работу сокета с помощью механизма сердцебиения. , что позволяет получать push-сообщения. Это заставило меня надеяться, что я смогу доставлять сообщения на спящие телефоны с активным подключением к Wi-Fi.

Я сделал реализацию, установив для параметра «delay_while_idle» значение «0». Сообщение доставляется, если экран моего телефона выключен, но не если телефон переходит в спящий режим (проверено с интервалом 20 минут, 1-6 часов).

Я приобрел частичную блокировку процессора + полную блокировку Wi-Fi на всякий случай.

Я просто сделал что-то принципиально неправильное или я неправильно понял функцию push-уведомлений C2DM?

Могу ли я отправлять сообщения на спящие телефоны или нет?


person marko    schedule 11.01.2011    source источник
comment
Вы можете отправлять сообщения на спящие телефоны, да, но есть несколько проблем и предостережений. Убедитесь, что вы получаете блокировку пробуждения в своем приемнике, и посмотрите эту тему для получения дополнительной информации: groups.google.com/group/android-c2dm/browse_thread/thread/   -  person Charlie Collins    schedule 12.01.2011
comment
Это похоже решение тогда: Все, я думаю, что андроид 2.3 позволит разработчикам обойти эту проблему. Я автор SIP-приложения (CSipSimple - ищите в googlecode ;)). И, читая исходный код стандартного приложения Android 2.3 SIP, я заметил, что они используют новый тип блокировки Wi-Fi .... Это: WifiManager.WIFI_MODE_FULL_HIGH_PERF (int 3).   -  person marko    schedule 12.01.2011
comment
Вы пытались изменить политику сна Wi-Fi?   -  person Brandon O'Rourke    schedule 11.07.2011


Ответы (1)


Использование alarmmanager вместо wakelocks может поддерживать ваш телефон в достаточной степени. См. эту реализация. Будет тестировать вариант этого.

person marko    schedule 16.01.2011