Я пытаюсь прочитать OTP из SMS в Android. Я могу получить все сообщение. Но мне нужен только OTP, то есть только цифра из SMS.
Пожалуйста, предложите любое решение для этого. Спасибо
Я пытаюсь прочитать OTP из SMS в Android. Я могу получить все сообщение. Но мне нужен только OTP, то есть только цифра из SMS.
Пожалуйста, предложите любое решение для этого. Спасибо
попробуй это
smsString = smsString.replaceAll("\\D+","");
он удалит нецифры из smsString
Когда весь 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}) в компиляции шаблона.