Поведение приложений Android VOIP в режиме «Доза»

Я работаю над старым VOIP-приложением на Android. Он не использует технологию Google Cloud Messaging прямо сейчас, а просто сохраняет свое собственное TCP-соединение навсегда.

Недавно Google представила версию предварительного просмотра Android M с режимом Doze

Таким образом, возникает вопрос: существует ли какое-либо решение, как приложение может принимать входящие вызовы / сообщения в режиме «Доза» без перепрограммирования всей системы на использование GCM?

Вы можете использовать ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS чтобы попросить разрешения пользователя игнорировать оптимизацию батареи. Однако дважды проверьте « Оптимизация для Doze и App Standby» , похоже, это разрешено только для корпоративных VoIP / IM (см. Вопросы № 33114063 и № 31154128 )

Нет, GCM, кажется, единственный способ. Подробный анализ проблем с режимами доз, включая сеть и GCM, можно найти здесь: https://commonsware.com/blog/2015/06/03/random-musing-m-developer-preview-ugly-part-one.html