我使用Google Retriver API进行自动短信验证,现在一切正常。 Iam从广播接收器类接收短信。 这是我的短信。
<#> Waahan:您的验证码是: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;
}
}
}
}
我已经搜索过,但是每个人都在使用电话.. iam使用检索API。 在此先感谢。
答案 0 :(得分:2)
case CommonStatusCodes.SUCCESS:
String message = (String) extras.get(SmsRetriever.EXTRA_SMS_MESSAGE);
String OTP = message.substring(message.lastIndexOf(":") + 1);
可能使用SubString(Start,End)函数