Прервать рассылку смс и / или удалить полученные смс из входящих - PullRequest
3 голосов
/ 14 марта 2012

Я пытаюсь написать инструмент шифрования смс. Люди, использующие этот инструмент, смогут общаться без интернета через смс и оставаться зашифрованными. Единственное, что мне нужно, это как не дать смс с определенного номера попасть в папку «Входящие», или удалить смс-уведомление, а затем удалить смс из «Входящие».

Я много гуглил, но https://stackoverflow.com/a/3875736/705297 Это не работает. Широковещательная рассылка работает, я вижу сообщение в журнале, что широковещательный приемник запущен, но он не прерывает широковещательную рассылку.

Также я нашел много сообщений, что это невозможно. Так возможно ли это и как я могу это сделать? Я использую Android 2.1 и выше. Спасибо

Код (просто пытается отменить все смс для тестирования): Приемник вещания:

  @Override
  public void onReceive(Context context, Intent intent)
  {
      abortBroadcast(); }

Часть манифеста:

<uses-permission android:name="android.permission.RECEIVE_SMS" />

 <receiver android:name=".SMSReceiver">
    <intent-filter android:priority="1000">
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>

1 Ответ

2 голосов
/ 15 марта 2012

Мне также нужно разрешение BROADCAST_SMS. Это была моя проблема. Вот рабочая часть манифеста.

<uses-permission android:name="android.permission.BROADCAST_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
....
 <receiver android:name=".SMSReceiver" android:permission="android.permission.BROADCAST_SMS">
          <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>
...