SMS Retriever API未从Firebase电话调用SMS_RETRIEVED_ACTION验证

问题描述:

SmsRetriever.SMS_RETRIEVED_ACTION未被调用。我使用的火力地堡电话验证:SMS Retriever API未从Firebase电话调用SMS_RETRIEVED_ACTION验证

PhoneAuthProvider.getInstance().verifyPhoneNumber(
       mPhoneNumber,  // Phone number to verify 
       60,     // Timeout duration 
       TimeUnit.SECONDS, // Unit of timeout 
       activity,    // Activity (for callback binding) 
       mCallbacks);  // OnVerificationStateChangedCallbacks 

,我试图用SMS Retriever API

SmsRetrieverClient client = SmsRetriever.getClient(activity); 

// Starts SmsRetriever, which waits for ONE matching SMS message until timeout 
// (5 minutes). The matching SMS message will be sent via a Broadcast Intent with 
// action SmsRetriever#SMS_RETRIEVED_ACTION. 

Task<Void> task = client.startSmsRetriever(); 

task.addOnSuccessListener(new OnSuccessListener<Void>() { 
      @Override 
      public void onSuccess(Void aVoid) { 

      } 
     }); 

     task.addOnFailureListener(new OnFailureListener() { 
      @Override 
      public void onFailure(@NonNull Exception e) { 

      } 
     }); 

我注册的BroadcastReceiver的onResume检索短信和注销它暂停:

public class MySMSBroadcastReceiver 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: 
       // Get SMS message contents 
       String message = (String) extras.get(SmsRetriever.EXTRA_SMS_MESSAGE); 

       break; 
      case CommonStatusCodes.TIMEOUT: 

       break; 
     } 
    } 
} 
} 

莫非成为Firebase SMS格式?可能不兼容?

在此先感谢。

使用下面的依赖,然后再试一次

编译 'com.google.android.gms:发挥服务-AUTH-API电话:11.0.4'