Широковещательный приемник Android для отправленных SMS-сообщений?

StackOverflow https://stackoverflow.com/questions/990558

  •  13-09-2019
  •  | 
  •  

Вопрос

Я создал BroadcastReceiver и настроил его с помощью android.provider.Telephony.SMS_RECEIVED фильтр действий, чтобы он вызывался каждый раз, когда телефон получает текст.

Есть ли какое-либо событие/действие или другой способ уведомления моего приложения всякий раз, когда телефон отправляет текст (желательно независимо от приложения, которое его отправляет)?

Пока единственный вариант, который я вижу, — это опросить контент-провайдера на предмет content://sms/sent который даже не дает мне все отправленные тексты, потому что приложения могут не помещать их туда.

Это было полезно?

Решение

К сожалению, (в настоящее время) нет способа реализовать BroadcastReceiver потому что стандартное смс-приложение использует SmsManger для отправки сообщений, но указывает конкретные внутренние классы для отправленных и доставленных намерений (SmsReceiver.class и MessageStatusReceiver.class соответственно).Не то чтобы это утешало, но следующий комментарий вы можете найти в приложении SMS. источник:

// TODO: Fix: It should not be necessary to
// specify the class in this intent.  Doing that
// unnecessarily limits customizability.

Лучшая альтернатива – опросы content://sms/sent, потенциально используя ContentObserver.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top