Прервать SMS-намерение на Android KitKat

В настоящее время я разрабатываю приложение, которое должно работать с SMS, только если это SMS, ожидаемое приложением (такое же поведение, как и в Whatsapp при регистрации).

Я хотел бы прервать намерение SMS, поскольку ожидается, что оно не появится в поле SMS.

Мой вопрос: я знаю, что Google многое изменил в поведении SMS в KitKat, и теперь, даже если мои SMS хорошо анализируются моим приложением, SMS также появляются в SMSBox, даже если я вызываю this.abortBroadcast(); в своем приемнике широковещательной рассылки SMS. Итак, есть ли способ избежать появления этих SMS в ящике SMS без необходимости разработки полного приложения для SMS?

Для информации, приоритет еще равен 1000 (и я пробовал также с MAX Integer) в файле манифеста для этого широковещательного приемника.


person gahfy    schedule 20.11.2013    source источник
comment
Итак, есть ли способ избежать появления этих SMS в ящике SMS без необходимости разработки полного приложения для SMS? -- Афаик, нет. Я бы структурировал SMS так, чтобы он был ценным для пользователя, в дополнение к выполнению желаемой роли, чтобы оправдать его нахождение в папке «Входящие» (и ценность того, что пользователь заплатил за сообщение, если что).   -  person CommonsWare    schedule 21.11.2013
comment
В контексте моего приложения я не могу сделать его ценным для пользователя, не увеличив его размер до более чем 1 SMS. Вот почему мне сейчас интересно узнать о решении, если оно существует. Кстати, спасибо за ваш ответ.   -  person gahfy    schedule 21.11.2013
comment
Что делать, если изменить приложение SMS по умолчанию в настройках беспроводной сети?   -  person gayavat    schedule 04.12.2013
comment
Да, я только что провел последние пару часов, пытаясь понять, почему мое приложение не прерывает трансляцию, а потом понял, что использую эмулятор API 19!   -  person BostonGeorge    schedule 19.12.2013


Ответы (3)


Hangouts использует максимально возможный приоритет (999 согласно документам Intent-Filter), и поэтому вы не можете прервать его в выпусках ‹4.4. В версии 4.4+ только приложение SMS по умолчанию (запись в блоге с подробностями) может внести изменения в поставщика SMS (т. е. автоматически удалить SMS).

person ianhanniballake    schedule 20.11.2013
comment
Я хотел бы упомянуть, что в случае, если ваше приложение является приложением SMS по умолчанию, оно отвечает за запись входящих сообщений для провайдера, поэтому это будет вопрос пропуска этих записей, а не удаления сообщений от провайдера. Кроме того, для получения дополнительной информации о Hangouts см. этот ответ: stackoverflow.com/questions/25354516/ - person Mike M.; 02.09.2014

Вы не можете остановить отображение сообщения в приложении SMS по умолчанию в kitkat. Оформить заказ по следующим ссылкам для получения подробной информации:

person Raheel    schedule 27.12.2013

Вы можете заблокировать SMS на Android 4.4 - 4.4.4 с помощью

1)

  • Использование настройки AppsOpps
  • Разрешение WRITE_SMS

Смс будет удалено через 10 секунд с уведомлением об этом смс.

В качестве опции вы можете заблокировать звук при получении нежелательных смс.

2) Настройте свое приложение как приложение для смс по умолчанию.

person Peter Zverkov    schedule 19.03.2016