Нашел несколько вопросов и ответов о том, как отправлять и получать сообщения USSD (обмениваемые с сотовой сетью) на Android. Я понимаю, что для получения USSD-сообщения нужно зарегистрировать BroadcastListener, но есть дополнительные вопросы (пока, по общему признанию, теоретические, т. Е. Без попыток написать код для этого).
В Android возможно (и если да, то о каких конкретных вещах нужно позаботиться), чтобы мое приложение получало сообщение USSD из сотовой сети, даже если это не приложение переднего плана, и даже если экран заблокирован, или когда устройство находится в спящем режиме?
Из того, что я прочитал до сих пор, мне кажется, что мне понадобится фоновая служба, которая регистрирует BroadcastListener для сообщения USSD, которое затем может отправлять локальное уведомление, чтобы активировать приложение, которое может предложить пользовательский интерфейс для взаимодействия с пользователем. , Это правильно?
Обратите внимание, что требуемое поведение в некоторой степени аналогично уведомлению GCM / FCM, используемому для пробуждения приложения из спящего режима (взаимодействие с пользователем после ответа на уведомление). Однако в этом случае GCM / FCM отсутствует, а есть только USSD-сообщение из сети.