Цифра только для чтения из OTP SMS в Android Studio

Я пытаюсь прочитать OTP из SMS в Android. Я могу получить все сообщение. Но мне нужен только OTP, то есть только цифра из SMS.

Пожалуйста, предложите любое решение для этого. Спасибо


person sunil    schedule 04.05.2017    source источник


Ответы (2)


попробуй это

smsString = smsString.replaceAll("\\D+","");

он удалит нецифры из smsString

person sajan    schedule 04.05.2017

Когда весь sms получен, используйте этот метод для получения OTP:

                    final Pattern p = Pattern.compile( "(\\d{4})" );
                    final Matcher m = p.matcher(messages[0].getMessageBody());
                    if ( m.find() ) {
                        Log.e("SMSotp", String.valueOf(m.group()));
                    }
                    String[] singleCHAR= m.group().split("(?!^)");

Здесь, если ваш OTP состоит из n цифр, используйте (\d{n}) в компиляции шаблона.

person Divyesh Patel    schedule 04.05.2017