我正在尝试实施Firebase电话号码身份验证。官方文档说我需要打电话
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phoneNumber, // Phone number to verify
60, // Timeout duration
TimeUnit.SECONDS, // Unit of timeout
this, // Activity (for callback binding)
mCallbacks); // OnVerificationStateChangedCallbacks
并传递我的活动参考以进行回调绑定。
docs中还有另一个重载方法,它接受TaskExecutors.MAIN_THREAD
(Executor用于调用OnVerificationStateChangedCallbacks
回调),而不是活动引用。
这就是我所需要的。在这种情况下
phoneAuthProvider.verifyPhoneNumber(
phone,
1,
TimeUnit.MINUTES,
TaskExecutors.MAIN_THREAD,
callbacks,
resendingToken
);
代码完美无缺。但问题是:回调在无限长的背景下继续他们的工作。我没有在文档中找到任何方法来阻止这些回调。
那么,当我不再需要它们时,如何手动删除这些回调呢?
答案 0 :(得分:0)
我认为您可以改用TaskExecutors.MAIN_THREAD。
PhoneAuthProvider.getInstance().verifyPhoneNumber(
phoneNumber, // Phone number to verify
60, // Timeout duration
TimeUnit.SECONDS, // Unit of timeout
TaskExecutors.MAIN_THREAD, // Executor
verifyNumberCallback
)