SmsRetrieverClient

public abstract classSmsRetrieverClientextendsGoogleApi<Api.ApiOptions.NoOptions>
implementsSmsRetrieverApi

The main entry point for interacting with SmsRetriever.

This does not require aGoogleApiClient. SeeGoogleApi for more information.

Public Method Summary

abstractTask<Void>
startSmsRetriever()
StartsSmsRetriever,which waits for a matching SMS message until timeout (5 minutes).
abstractTask<Void>
startSmsUserConsent(String senderAddress)
StartsSmsUserConsent,which waits for an OTP-containing SMS message until timeout (5 minutes).

Inherited Method Summary

Public Methods

public abstractTask<Void>startSmsRetriever()

StartsSmsRetriever,which waits for a matching SMS message until timeout (5 minutes). The matching SMS message will be sent via a Broadcast Intent with action SMS_RETRIEVED_ACTION.The Intent contains Extras with keys EXTRA_SMS_MESSAGEfor the retrieved SMS message as aString, and EXTRA_STATUSforStatusto indicate SUCCESS, DEVELOPER_ERROR, ERROR, or TIMEOUT.

Note:Add SEND_PERMISSIONwhile registering the receiver to detect that the broadcast intent is from the SMS Retriever. Be aware that this detection only works on devices using Google Play services v19.8.31 and later.

The possible causes for errors are:

  • DEVELOPER_ERROR: the caller app has incorrect number of certificates. Only one certificate is allowed.
  • ERROR: the AppCode collides with other installed apps.
Returns

public abstractTask<Void>startSmsUserConsent(String senderAddress)

StartsSmsUserConsent,which waits for an OTP-containing SMS message until timeout (5 minutes). OTP-containing SMS message can be retrieved with two steps.

Note:Add SEND_PERMISSIONwhile registering the receiver to detect that the broadcast intent is from the SMS Retriever. Be aware that this detection only works on devices using Google Play services v19.8.31 and later.

  1. [Get consent Intent]While OTP-containing SMS message comes, a consent Intent will be sent via a Broadcast Intent with action SMS_RETRIEVED_ACTION.The Intent contains Extras with keys EXTRA_CONSENT_INTENTfor the consent Intent and EXTRA_STATUSforStatus to indicate SUCCESS or TIMEOUT.
  2. [Get OTP-containing SMS message]CallsstartActivityForResult with consent Intent to launch a consent dialog to get user's approval, then the OTP-containing SMS message can be retrieved from the activity result.
Parameters
senderAddress address of desired SMS sender, ornullto retrieve any sender
Returns