Register BroadcastReceiver for Inbox

How to register BroadcastReceiver To block incoming messages

IntentFilter intentFilter = new IntentFilter(Intent."what should be here"); ctx.registerReceiver(outgoingReceiver, intentFilter); 
+7
source share
4 answers

Try the following:

 intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); 

Hope this helps.

+9
source

Declare the receiver in your AndroidManifest.xml:

  <receiver android:name="com.example.YourSmsReceiver" android:exported="true" > <intent-filter android:priority="1000" > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> 

Hope this helps, Yaron

+1
source

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(); } } 
0
source

You must check the resolution

 if (ContextCompat.checkSelfPermission(mActivity, Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.RECEIVE_SMS}, 0); } else { // register sms receiver IntentFilter filter = new IntentFilter(Telephony.Sms.Intents.SMS_RECEIVED_ACTION); registerReceiver(smsReceiver, filter); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (ContextCompat.checkSelfPermission(mActivity, Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED) { } else { // register sms receiver IntentFilter filter = new IntentFilter(Telephony.Sms.Intents.SMS_RECEIVED_ACTION); registerReceiver(smsReceiver, filter); } } 
0
source

All Articles