我正在创建一个这样的digitsauthconfig:
private DigitsAuthConfig createDigitsAuthConfig() {
return new DigitsAuthConfig.Builder()
.withAuthCallBack(createAuthCallback())
.withPhoneNumber("+91")
.withThemeResId(R.style.CustomDigitsTheme)
.build();
}
其中 authcallback 通过以下方式返回:
private AuthCallback createAuthCallback() {
return new AuthCallback() {
@Override
public void success(DigitsSession session, String phoneNumber) {
doIfSuccessfulOtpVerification();
}
@Override
public void failure(DigitsException exception) {
doIfNotSuccessfulOtpVerification();
}
};
}
我使用带有事件侦听器的按钮启动该过程:
digitsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Digits.authenticate(createDigitsAuthConfig());
}
});
问题是,一旦我的电话号码得到验证,它就会回到显示按钮的活动并且什么都不做。从技术上讲,永远不会调用 authcallback,无论成功与否。但是如果我再次单击该按钮,则会调用 authcallback 而无需重复验证步骤。所以现在我需要点击按钮两次。周围的方法是什么?