2017-09-09 1 views
0

J'utilise FirebaseUI pour créer une activité d'authentification de numéro de téléphone dans mon application. Par défaut, l'heure de renvoi de l'OPT est de 15 secondes. Je veux changer cette limite de temps. Comment faire?Comment changer le temps de renvoyer OTP dans l'authentification de numéro de téléphone par FirebaseUI

public class PhoneNumberAuthentication extends AppCompatActivity { 
    private static final int RC_SIGN_IN = 123; 
    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FirebaseAuth auth = FirebaseAuth.getInstance(); 
     if (auth.getCurrentUser() != null) { 
      // already signed in 
      startActivity(new Intent(PhoneNumberAuthentication.this, MainActivity.class)); 
      finish(); 
     } else { 
      // not signed in 
      startActivityForResult(
        AuthUI.getInstance() 
          .createSignInIntentBuilder() 
          .setAvailableProviders(
            Arrays.asList(
              new AuthUI.IdpConfig.Builder(AuthUI.PHONE_VERIFICATION_PROVIDER).build() 
              )) 
          .build(), 
        RC_SIGN_IN); 
     } 
    } 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     // RC_SIGN_IN is the request code you passed into startActivityForResult(...) when starting the sign in flow. 
     if (requestCode == RC_SIGN_IN) { 
      IdpResponse response = IdpResponse.fromResultIntent(data); 
      // Successfully signed in 
      if (resultCode == ResultCodes.OK) { 
       startActivity(new Intent(PhoneNumberAuthentication.this,MainActivity.class)); 
       finish(); 
       return; 
      } else { 
       // Sign in failed 
       if (response == null) { 
        // User pressed back button 
        Log.e("Login","Login canceled by User"); 
        return; 
       } 
       if (response.getErrorCode() == ErrorCodes.NO_NETWORK) { 
        Log.e("Login","No Internet Connection"); 
        return; 
       } 
       if (response.getErrorCode() == ErrorCodes.UNKNOWN_ERROR) { 
        Log.e("Login","Unknown Error"); 
        return; 
       } 
      } 
      Log.e("Login","Unknown sign in response"); 
     } 
    } 
} 

Je joins la capture d'écran de l'activité de vérification OPT: OTP Verification Activity. Le temporisateur du code de renvoi est décompté à partir de 15 et lorsqu'il atteint 0, il active un bouton OTP renvoyé. Je dois augmenter ce compte à rebours.

Répondre

0

si vous ne souhaitez que pour activer ou désactiver le bouton resend OTP en fonction du temps, vous pouvez utiliser un gestionnaire comme

 final Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       otpButton.setEnable(true); 
      } 
     }, 60000); 

cela vous donne 60 secondes le temps

+0

Merci .. Mais où dans mon code devrais-je mettre ce bloc? –

+0

lorsque le code otp firebasebse phoneauth envoie et vous allez à l'activité de récupération otp puis dans la méthode onStart –