Register BroadcastReceiver For Incoming SMS

后端 未结 4 1520
醉梦人生
醉梦人生 2021-01-02 07:34

How to Register BroadcastReceiver For blocking Incoming SMSs

    IntentFilter intentFilter = new IntentFilter(Intent.\"what should be here\");
     ctx.regi         


        
4条回答
  •  萌比男神i
    2021-01-02 07:55

    Register a receiver in your manifest with highest priority:

         
             
                 
             
                
    

    Create BroadcastReceiver class:

    public class SmsReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
        }
    }
    

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

提交回复
热议问题