Извлечь OTP из сообщения в Retrivel API (автоматическая проверка SMS) - PullRequest
0 голосов
/ 21 мая 2019

Я использую Google Retriver API для автоматической проверки смс, теперь все работает нормально.Я получаю смс-сообщение от класса получателя Broadcast.Это мое смс-сообщение ..

<#> Ваахан: Ваш проверочный код: 1453 jtN03jdhD6p

Я хочу извлечь из сообщения только otp..

SMSBroadcastReceiver.java

public class SMSBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        if (SmsRetriever.SMS_RETRIEVED_ACTION.equals(intent.getAction())) {
            Bundle extras = intent.getExtras();
            Status status = (Status) extras.get(SmsRetriever.EXTRA_STATUS);

            switch(status.getStatusCode())
            {
                case CommonStatusCodes.SUCCESS:
                    String message = (String) extras.get(SmsRetriever.EXTRA_SMS_MESSAGE);

                    break;

                case CommonStatusCodes.TIMEOUT:

                    break;
            }
        }
    }
}

Я искал, но каждый использует телефонию .. Я использую API-интерфейс поиска .. Заранее спасибо ..

1 Ответ

2 голосов
/ 21 мая 2019
 case CommonStatusCodes.SUCCESS:
                String message = (String) extras.get(SmsRetriever.EXTRA_SMS_MESSAGE);
 String OTP = message.substring(message.lastIndexOf(":") + 1);

возможно с использованием функции SubString (Start, End)

...