试试下面
private static class CallbackHandler<T> implements Callback<T> {
@Override
public void onResponse(Call<T> call, Response<T> response) {
int code = response.code();
if (code >= 200 && code < 300) {
onSuccess(response);
} else if (code == 401) {
// logic to refresh token or user then recall the same api
call.clone().enqueue(this);
}
}
@Override
public void onFailure(Call<T> call, Throwable t) {
}
public void onSuccess(Response<T> response) {
}
}
然后像下面这样改变你的电话
service.RequestVerification(token, mobileNumber).enqueue(new CallbackHandler<ClientData<User>>() {
@Override
public void onSuccess(Response<ClientData<User>> response) {
doAction();//Action must passed to this method.
GeneralTools.hideLoading();
}
@Override
public void onFailure(@NonNull Call<ClientData<User>> call, @NonNull Throwable t) {
GeneralTools.hideLoading();
dialogError.show();
}
});