Register the receiver in your manifest with the highest priority:
<receiver android:name=".SmsReceiver"> <intent-filter android:priority="9999"> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
Create BroadcastReceiver class:
public class SmsReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { } }
Implement the onReceive method:
Bundle bundle = intent.getExtras(); if (bundle != null && bundle.containsKey("pdus")) { Object[] pdus = (Object[]) bundle.get("pdus"); SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdus[0]); String senderNumber = sms.getOriginatingAddress(); if( senderIsInBlackList(senderNumber)) { abortBroadcast(); } }
Ali Behzadian Nejad
source share