Not able to extract OTP from the message

24 views Asked by At
public class SMSBroadcaster extends BroadcastReceiver {
    private static SmsListener mListener;
    Boolean b;
    String abcd, xyz;
    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle data = intent.getExtras();
        Object[] pdus = (Object[]) data.get("pdus");
        for (int i = 0; i < pdus.length; i++) {
            SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdus[i]);
            String sender = smsMessage.getDisplayOriginatingAddress();
            String messageBody = smsMessage.getMessageBody();
            abcd = messageBody.replaceAll("[^0-9]", "");
            System.out.println("OTP received is" + abcd);
            if (b == true) {
                mListener.messageReceived(abcd); 
            } else {}
        }
    }
public static void bindListener(SmsListener listener) {
    mListener = listener;
}
}

I am using this broadcaster in my code and also added the permission android permission RECEIVE SMS

I was able to get all SMS when I used read SMS permission but I do not want all SMS access. I just need the OTP for verification

0

There are 0 answers