Как исправить предупреждение незащищенного SMS BroadcastReceiver

Мое приложение должно получать SMS-сообщения. Все это работает, но я получаю это предупреждение:

BroadcastReceivers, объявляющие фильтр намерений для SMS_DELIVER или SMS_RECEIVED, должны гарантировать, что у вызывающего есть разрешение BROADCAST_SMS, в противном случае злоумышленники могут обманывать намерения.

Как я могу обеспечить, чтобы вызывающий абонент имел разрешение BROADCAST_SMS?

В моем манифесте я:

<uses-permission android:name="android.permission.RECEIVE_SMS" /> <application ...> <receiver android:name=".SmsReceiver" android:enabled="true" android:exported="true"> <intent-filter android:priority="1000"> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> </application> 

Мой код:

 public class SmsReceiver extends BroadcastReceiver { public SmsReceiver() {} @Override public void onReceive(final Context context, final Intent intent) { final Bundle bundle = intent.getExtras(); if (bundle != null) { final Object[] pdusObj = (Object[]) bundle.get("pdus"); for (int i = 0; i < pdusObj.length; i++) { final SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]); // use currentMessage } } } } 

Solutions Collecting From Web of "Как исправить предупреждение незащищенного SMS BroadcastReceiver"